我在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甚至更长的数字?

最佳答案

对于除了显示给人类以外的所有意图和目的,8.16E-5都很好(这不是数字在内部存储的方式,fyi)。

如果要显示供人类阅读的数字,请将其格式化为字符串:

number_format($elabora, 7); // 7 is the amount of decimal places


同样,这将返回一个字符串,这将使计算变得不可能(因此,应仅在显示时或在进行所有计算等之后进行此操作)。了解更多:http://pl1.php.net/number_format

08-16 07:29