PHP中对于浮点型的数据需要用不同的方法解决

 这篇文章主要介绍了PHP中对于浮点型的数据需要用不同的方法解决。需要的朋友可以过来参考下,希望对大家有所帮助

Php: BCMath
 
bc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值。这里大数直接用一个由0-9组成的string表示,计算结果返回的也是一个 string。
 
bcadd — 将两个高精度数字相加 
bccomp — 比较两个高精度数字,返回-1, 0, 1 
bcdiv — 将两个高精度数字相除 
bcmod — 求高精度数字余数 
bcmul — 将两个高精度数字相乘 
bcpow — 求高精度数字乘方 
bcpowmod — 求高精度数字乘方求模,数论里非常常用 
bcscale — 配置默认小数点位数,相当于就是Linux bc中的”scale=” 
bcsqrt — 求高精度数字平方根 
bcsub — 将两个高精度数字相减
 
可以参考手册去查这些函数的应用。
 
代码如下:
/*bcsub 函数说明
此函数将二个高精确度的数字相减,传入二个字符串,以左边的 (left operand) 减去右边的 (right operand) 值。scale 是一个可有可无的选项,表示返回值的小数点后所需的位数。*/
//下面的代码我是保证了小数点一位数字
$aa=bcsub(134.7,52.5,1);
echo $aa;//exit;
$bb=bcsub($aa,82.2,1);
echo $bb;//exit;
//楼
 

时间: 2024-08-07 12:48:34

PHP中对于浮点型的数据需要用不同的方法解决的相关文章

PHP中对于浮点型的数据需要用不同的方法解决_php实例

Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值.这里大数直接用一个由0-9组成的string表示,计算结果返回的也是一个 string. bcadd - 将两个高精度数字相加 bccomp - 比较两个高精度数

PHP对于浮点型的数据需要用不同的方法

  Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值.这里大数直接用一个由0-9组成的string表示,计算结果返回的也是一个 string. bcadd - 将两个高精度数字相加 bccomp - 比较两个高精

PHP中filter函数校验数据的方法详解_php技巧

介绍PHP中filter函数校验数据的方法详解,PHP过滤器包含两种类型:Validation用来验证验证项是否合法.Sanitization用来格式化被验证的项目,因此它可能会修改验证项的值,将不合法的字符删除. input_filters_list() 用来列出当前系统所支持的所有过滤器. 复制代码 代码如下: <?php foreach(filter_list() as $id => $filter) {     echo $filter.' '.filter_id($filter).&

libmad-提取mp3中真正的音频数据

问题描述 提取mp3中真正的音频数据 用libmad解码,运行./minimad 输出乱码显示decoding error 0x0101(lost synchronization)然后安装了zlib和libid3tag ,这时应该这样修改minimad.c把后面加装的两个库加进去.目地是想获得音频数据(如果数据是十进制或十六进制的更好),最终目地是通过音频数据控制灯光的闪烁(像舞台灯光). 解决方案 内维尔戈达德.最好的内维尔戈达德音频MP3电子书.ffmpeg提取音频.转换为mp3

xcode-获取表中列的全部数据

问题描述 获取表中列的全部数据 代码我想要获取所有引用数据,一共有320个引用.但是只得到了第一个引用. -(NSMutableArray *)getAllQuotesData { NSMutableArray *quotesArray = [[NSMutableArray alloc] init]; NSString *sqlStr = [NSString stringWithFormat:@"SELECT quote FROM quotes"]; sqlite3_stmt *Ret

Dom + Javascript 在本机浏览器中对的表格数据进行排序

dom|javascript|浏览器|排序|数据 在本机浏览器中对的表格数据进行排序在Web应用中,数据从服务器端返回到客户端,以表格形式表现出来.如果要对数据集按指定的列排序显示,常规做法都是向服务器发出请求,服务器端程序重新从数据库中取出按指定列排序的数据,返回给客户端,页面重新显示排序后数据. 采用这种方式有如下缺点:1- 响应时间延迟,每次排序都要向服务器端发送请求,等待结果返回,同时增加网络负载.2- 编程复杂,可维护性差,而且客户端和服务器端代码耦合度很高,客户端和服务器端都要处理排

在.NET Framework中轻松处理XML数据(三)

xml|数据 带验证的阅读器XmlValidatingReader类实现了XmlReader类,它提供了支持多种类型的XML验证:DTD,XML-Data Reduced(XDR)架构,以及XSD,DTD和XSD都是W3C官方推荐的.而XDR是Microsoft早期用于处理XML构架的一种格式. 你可以用XmlVlidatingReader类去验证XML文档和XML片断.XmlValidatingReader类工作在XML阅读器上面---是一个典型的XMLTextReader类实例.XM

Visual Foxpro中的多用户及数据缓冲问题

visual|数据|问题 主题:Visual Foxpro中的多用户及数据缓冲问题 绍 很多狐友(Foxers)都是从Dbase―FoxBase―Foxpro―VFP这样一条路走过来的,如果说从FoxBase 到Foxpro是一次飞跃,那么从Foxpro到VFP就是一次升华.漫漫编程路上的两次大变化都伴随着升级的兴奋与适应的痛苦,惯性思维往往使我们容易忽略新版本的新内容.我们先来看看下面这个在表单中编辑记录的例子: 在Foxpro 2.X时代,我是这样设计的: 1. 在屏幕上放置与表中字段对应的

Java项目中使用Hibernate处理数据

数据|项目 对象-关系映射(O/R映射)是许多软件开发项目的常见需求.数据持久化过程中所涉及到的活动是非常乏味且易于出错的.如果考虑到不可避免的需求变化,我们就面临很大的麻烦:数据存储结构必须与源代码保持同步.再加上移植性问题,事情就变得非常复杂. 而Hibernate可以帮助我们轻松地在永久性存储介质中保存数据,而不需要在选择存储.安装或配置类型方面浪费太多精力.Hibernate允许我们存储任何类型的对象,因此,应用程序不需要知道其数据将使用Hibernate进行持久化.当然,这里提到的任何