【问题标题】:Formatting of scientific numbers科学数字的格式
【发布时间】:2019-11-10 18:12:07
【问题描述】:

试图打印出科学数字,我尝试了不同种类的 PHP 数字格式,包括 sprintf 等。

<?php
$layer1capacityratio = 3.9008133852857E-5;
echo sprintf('%f',$layer1capacityratio);

这输出“0.000039”,但我想输出“0.003901%”。

我不确定我错过了什么。如果有人能指出我正确的方向,我将不胜感激!

【问题讨论】:

  • 请注意我对您的问题所做的修改。您应该只包含重现问题所需的最少相关信息。您通过 HTTP 从 JSON 数据源获取此数字的事实与该问题无关。这也适用于问题标签。

标签: php printf scientific-notation


【解决方案1】:

如果要将数字显示为百分比,请将其乘以 100 并添加一个百分号。

<?php
$layer1capacityratio = 3.9008133852857E-5;
echo sprintf('%f%%',$layer1capacityratio * 100);

您还可以使用the format string 来控制输出中的有效数字:

echo sprintf('%.8f%%',$layer1capacityratio * 100);

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多