在函数 sprintf 的 PHP 手册中,我发现:
e - 参数被视为科学记数法(例如 1.2e+2)。精度说明符代表自 PHP 5.2.1 以来小数点后的位数。在早期版本中,它被视为有效位数(少一位)。
现在我使用的是 PHP 5.4,但想用科学记数法格式化一个数字,并指出有效位数而不是小数位数。有这个功能,还是我应该自己写?
在函数 sprintf 的 PHP 手册中,我发现:
e - 参数被视为科学记数法(例如 1.2e+2)。精度说明符代表自 PHP 5.2.1 以来小数点后的位数。在早期版本中,它被视为有效位数(少一位)。
现在我使用的是 PHP 5.4,但想用科学记数法格式化一个数字,并指出有效位数而不是小数位数。有这个功能,还是我应该自己写?
我看了看(one less)
零件,这就是我所需要的。谢谢您的帮助!
这意味着我只需将精度值减少 1 即可让我的函数按照我想要的方式运行。
请参阅此处了解我提出的使用 sprintf 支持科学记数法的功能
function sn($number,$precision = 1,$case = 'e'){ //scientific notation
$precision--;
$string = str_replace('+','',sprintf('%.'.$precision.$case, $number))." ";
return $string;
}