如何在PHP中将十进制值转换为指数形式

时间:2014-03-18 09:26:37

标签: php floating-point exponential

我的输出类似于以下的浮点数。

0.00035074062222222
0.00042088874666667
0.00042088874666667
0.00056118499555556

但我希望上面的数字应该如下所示,

3.51E-05
4.21E-05
4.89E-05
5.61E-05

我的意思是指数格式。我在网上冲浪。我找不到任何解决办法。

在PHP中有可能吗?如果是的话怎么做?。

2 个答案:

答案 0 :(得分:5)

查看sprintf以及%e和%E科学记谱法格式。

echo sprintf('%E', 0.00035074062222222);

<强>输出

3.507406E-4

要对结果进行舍入,请使用可选的精度说明符。

echo sprintf('.2%E', 0.00035074062222222);

<强>输出

3.51E-4

答案 1 :(得分:1)

请参阅 sprintf

$num = 0.00035074062222222;
echo sprintf('%.2E', $num); // .2 used to limit the number of fractional digits.

输出:

3.51E-4