首页 >后端开发 >php教程 >高手开过来!PHP的bcmath问题你懂吗?

高手开过来!PHP的bcmath问题你懂吗?

WBOY
WBOY原创
2016-06-23 14:01:19832浏览

$b=0.000000011;$post=100000000;$aa=strval($b);$pos=strval($post);echo bcmul($aa,$pos,10);echo '<br/>';$aa="0.000000011";$pos="100000000";echo bcmul($aa,$pos,10);

结果是:
0
1.100000000
为什么?强制转换跟直接赋值不一样?


回复讨论(解决方案)

$b=0.000000011;$aa=strval($b);var_dump($aa);

输出的结果是 string '1.1E-8' (length=6)
和 '0.000000011'是不一样的

科学计数法不是高精度计数法
所以 bcmath 不支持科学计数法
$b=0.000000011;
echo strval($b); //1.1E-8

那如何解决?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn