科学数字的格式

Posted

技术标签:

【中文标题】科学数字的格式【英文标题】: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 数据源获取此数字的事实与该问题无关。这也适用于问题标签。 【参考方案1】:

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

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

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

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

【讨论】:

以上是关于科学数字的格式的主要内容,如果未能解决你的问题,请参考以下文章

科学数字的格式

excel中怎样快速将科学计数变为正常数字

谷歌图表工具提示数字格式科学

excel中长数字字符串会默认变成科学计数法,如何去除?

Java导出csv数字如何不以科学计数显示,不能改变原来的值

为啥用excel输入长数字就变成科学记数法?