Heim >Backend-Entwicklung >PHP-Tutorial >高手开过来!PHP的bcmath问题你懂吗?

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

WBOY
WBOYOriginal
2016-06-23 14:01:19833Durchsuche

$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

那如何解决?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php图片上传问题Nächster Artikel:这个json数据如何解析