高手开过来!PHP的bcmath问题你懂吗?
程序员文章站
2024-04-03 17:00:52
...
$b=0.000000011;$post=100000000;$aa=strval($b);$pos=strval($post);echo bcmul($aa,$pos,10);echo '
';$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
那如何解决?
上一篇: 新浪微博招聘安全工程师
下一篇: tp5学习交流