-2

我想添加以下数字

$res = 0.000000002 + 0.000000002 + 0.000000002;

我得到了这样的结果

4.2E-8

谁能解释一下,如何获得 0.000000006

谢谢

4

5 回答 5

2

尝试

$res = 0.000000002 + 0.000000002 + 0.000000002;
printf("%0.9f",$res);

或者

print(number_format($res,9));

输出

0.000000006
于 2013-06-22T09:25:47.003 回答
2

您应该得到以下结果:

echo 0.000000002 + 0.000000002 + 0.000000002;

6.0E-9

这意味着你没有告诉我们真相。

一种获取方法4.2E-8是添加0.00000002 + 0.00000002 + 0.000000002;(我从其中两个中删除了一个零)。

于 2013-06-22T09:24:29.887 回答
2
//Try using 
echo number_format($res,10); 
于 2013-06-22T09:25:28.047 回答
0

请试试这个。

$res = 0.000000002 + 0.000000002 + 0.000000002;

    echo number_format($res, 9, '.', '');die;

这里 9 no 是在 dot 之后描述你想显示多少位。

于 2013-06-22T09:38:54.610 回答
-1
$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;

请试试这个。

于 2013-06-22T10:19:02.387 回答