一个剩法计算乱码问题。
如果有4个零会出现乱码问题。
比如0.01*0.007=7.0E-5(乱码)
应该等于0.00007才对。
不知道为什么php会出现这样的错误。
注明:必须保留原位的小数点。不要舍去。应该怎么解决呢?
------解决方案--------------------
1.这不是乱码,是科学计数法。
2. round()函数可以指定小数点的位数
$x = 0.0000722;
$s = round($x,5);
echo $s;
------解决方案--------------------
1.sprintf:
<?php $x = 0.01*0.007; sprintf("%.7f",$x); ?> <br><font color="#e78608">------解决方案--------------------</font><br>
echo bcmul(0.01,0.007,5);//0.00007 <br><font color="#e78608">------解决方案--------------------</font><br>学习了 <br><font color="#e78608">------解决方案--------------------</font><br>好吧 来个恶心点的<br><br>$s=0.01*0.007;<br>echo number_format($s,5,'.',''); <br><font color="#e78608">------解决方案--------------------</font><br>
<?php $s = 0.01*0.00123; $k = sprintf("%.15f",$s);//指定小数后最大15位 $result = rtrim($k,"0");//去掉末尾的0 echo $result; ?> <div class="clear"> </div>