关于“php_精度问题”的问题,小编就整理了【2】个相关介绍“php_精度问题”的解答:
PHP基本公式?在PHP中,可以利用算术运算符来实现加减乘除的计算公式,算术运算符用于将符号两边的数值进行运算,计算公式为“x + y”、“x - y”、“x * y”和“x / y”,分别表示两个数的和、差、积和商。
北京下面主要讲述 round, floor, ceil, pow, rand,max, min, decbin, bindec, dechex, hexdec, decoct, octdec 函数。
round
北京round - 对浮点数进行四舍五入。round 函数语法如下:
round(float,precision)
其中参数 precision 表示小数点后面要保持的精度位数。如果不写参数 precision,表示四舍五入到整数位,比如:
北京echo round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4
如果 precision 为2,表示四舍五入到小数点后2位。示例如下:
echo round(1.95583, 2); // 1.96
出现小数精度丢失的原因?两个例子:
在js中:0.1+0.2 != 0.3 而是 等于0.300000000004 //这跟js默认采用双精度存储小数有关系
北京在php中9.45*100%100 != 45而是等于44 //这跟php取余运算时是先取整再取余有关系
以上两种情况的根本原因应该是小数在计算机存储时精度丢失导致的.
北京因为有些小数在计算机使用二进制方式表示时无法准确的表示出来,类似于十进制中的1/3一样,无理数,无限循环.
可是计算机存储小数的类型不管是float还是double都是有位数限制的,所以他们存储的只是一个近似值,这就导致了精度丢失.
因为经度丢失了,所以有些时候运算结果就会跟我们预想的不太一样了.
北京到此,以上就是小编对于“php_精度问题”的问题就介绍到这了,希望介绍关于“php_精度问题”的【2】点解答对大家有用。