【问题标题】:Simplify scientific number format and change formatting简化科学数字格式并更改格式
【发布时间】:2014-08-16 14:46:38
【问题描述】:

是否有一种巧妙的方法可以以“圆形”方式打印科学数字,例如:

2.9560343062229E-10

让我们转换为 2.95^10。另外,如何拆分指数以便以 HTML 表示法打印 2.95-10

【问题讨论】:

  • 使用正则表达式获取数字的各个部分。然后使用number_format打印尾数,保留2位小数。
  • 请注意,2.95^-10 与我书中的 2.95e-10 完全不同。作为科学文本的读者,这会让我感到困惑(毕竟,2e3 => 2000, 2^2 => 2*2*2 = 8)。
  • 你完全正确!我的错..感谢这个修复,你让我很开心

标签: php numbers notation


【解决方案1】:

好的,我完成了:P 感谢您的建议。 最快的方法:

$str = explode("E", $str);
return round($str[0],2)."<sup>".$str[1]."</sup>";

谢谢!

【讨论】:

    【解决方案2】:

    用科学计数法简单四舍五入到 2:

    $string = sprintf("%.2e",$number);
    

    自定义格式:

    $exp = floor(log10($number));
    $string = round($number/pow(10,$exp),2)."<sup>".$exp."</sup>";
    

    【讨论】:

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