【问题标题】:how to convert decimal values into exponential form in php如何在php中将十进制值转换为指数形式
【发布时间】:2014-03-18 09:26:37
【问题描述】:

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

0.00035074062222222
0.00042088874666667
0.00042088874666667
0.00056118499555556

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

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

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

在 php 中有可能吗?如果是,该怎么做?

【问题讨论】:

  • 第二个和第三个数据看起来一样,输出有什么变化?

标签: php floating-point exponential


【解决方案1】:

看看sprintf 以及 %e 和 %E 科学记数法格式化程序。

echo sprintf('%E', 0.00035074062222222);

输出

3.507406E-4

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

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

输出

3.51E-4

【讨论】:

  • 谢谢。是否有可能将该输出设为 3.51E-05(如四舍五入)
【解决方案2】:

sprintf

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

输出:

3.51E-4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多