我想添加以下数字
$res = 0.000000002 + 0.000000002 + 0.000000002;
我得到了这样的结果
4.2E-8
谁能解释一下,如何获得 0.000000006
谢谢
尝试
$res = 0.000000002 + 0.000000002 + 0.000000002;
printf("%0.9f",$res);
或者
print(number_format($res,9));
输出
0.000000006
您应该得到以下结果:
echo 0.000000002 + 0.000000002 + 0.000000002;
6.0E-9
这意味着你没有告诉我们真相。
一种获取方法4.2E-8
是添加0.00000002 + 0.00000002 + 0.000000002;
(我从其中两个中删除了一个零)。
//Try using
echo number_format($res,10);
请试试这个。
$res = 0.000000002 + 0.000000002 + 0.000000002;
echo number_format($res, 9, '.', '');die;
这里 9 no 是在 dot 之后描述你想显示多少位。
$res = 0.0000000002 + 0.0000000002 + 0.0000000002;
echo exp2dec($res);
function exp2dec($number) {
preg_match('/(.*)E-(.*)/', str_replace(".", "", $number), $matches);
$num = "0.";
while ($matches[2] > 0) {
$num .= "0";
$matches[2]--;
}
return $num . $matches[1];
}
die;
请试试这个。