【发布时间】:2020-10-07 00:24:52
【问题描述】:
我有一堆总是
我发现如果数字超过 4 个零小数 (0.0000xyz),那么它会显示为科学记数法。我已经能够将科学记数法数字转换为 int,但我想强制使用科学记数法,但无法弄清楚如何。
这有可能发生吗?
【问题讨论】:
-
拜托,您能否提供一个示例代码,添加当前输出以及您期望的输出?
我有一堆总是
我发现如果数字超过 4 个零小数 (0.0000xyz),那么它会显示为科学记数法。我已经能够将科学记数法数字转换为 int,但我想强制使用科学记数法,但无法弄清楚如何。
这有可能发生吗?
【问题讨论】:
您可以使用%e 或%E 格式说明符将sprintf/printf 转换为科学计数法。
e 参数被视为科学记数法(例如 1.2e+2)。精度说明符代表自 PHP 5.2.1 以来小数点后的位数。在早期版本中,它被视为有效位数(少一位)。
E 与 e 说明符类似,但使用大写字母(例如 1.2E+2)。 – https://www.php.net/manual/en/function.sprintf.php
要获得小数点后的特定位数,您可以使用精度说明符,例如%.14e
这是 sprintf 手册中的一个示例。
示例#6 sprintf():科学记数法
<?php $number = 362525200; echo sprintf("%.3e", $number); ?>
上面的例子会输出:
3.625e+8
【讨论】: