我在MySQL表中有一个数字,0.000102
。
然后将此数字乘以.8,得到0.0000816
,但结果为8.16E-5
。
我的公式是:
function fixRendiconto($valore, $percent = 1){
$valore = str_replace(",", ".", $valore);
if($percent == 1 || $valore < 0){
$elabora = ($valore == '') ? '0.00' : (double)str_replace(",", ".", $valore);
}else{
$elabora = ($valore == '') ? '0.00' : (double)str_replace(",", ".", $valore);
$elabora = $elabora*(double)$percent;
}
return $elabora;
}
fixRendiconto(0.000102, .80);
如何获得结果0.0000816
甚至更长的数字?
答案 0 :(得分:1)
除了向人类展示之外的所有意图和目的,8.16E-5
完全正常(这不是数字在内部存储的方式,fyi)。
如果要显示人类阅读的数字,请将其格式化为字符串:
number_format($elabora, 7); // 7 is the amount of decimal places
同样,这将返回一个字符串,这将使计算变得不可能(因此它应该仅用于显示,或者在所有计算之后等)。阅读更多:http://pl1.php.net/number_format