php数据运算位数出错

来源:百度知道 编辑:UC知道 时间:2024/07/01 13:52:25
我在php中变量a为2009053.12345678,b为200000,c为a与b的差,即c=a-b,可是为什么c=9053.1234567801,即后面多出现了两个数。

2进制表示10十进制的浮点数时存在的精度问题。涉及到计算机的原理了。

有意思,有意思。
是不是精度问题?你的变量a已经超出了允许的精度?

我这里测试是没有问题的,那就肯定是你的php或者apache配置的问题,或者就是版本的问题了,从新下载比较新的版本并正确配置,肯定就没问题了

这是PHP Version 5.2.9-2运算的结果:

<?
$a = 2009053.12345678;
$b = 200000;
echo "a=2009053.12345678,b=200000<br>";
echo "a-b=".($a-$b);
?>

a=2009053.12345678,b=200000
a-b=1809053.12346