在函数sprintf的PHP手册中,我找到:
e - 该论点被视为科学记数法(例如1.2e + 2)。该 precision specifier表示小数点后的位数 从PHP 5.2.1开始。在早期版本中,它被视为数量 有效数字(少一个)。
现在我使用的是PHP 5.4,但是想用科学记数法格式化数字,并指出有效位数而不是小数位数。有没有这个功能,还是我应该自己写呢?
答案 0 :(得分:-1)
我查看了(one less)
部分,这就是我所需要的一切。
谢谢你的帮助!
这意味着我只需要将精度值减一,以使我的函数按照我想要的方式运行。
请参阅此处,了解我使用sprintf提供的支持科学记数法的功能
function sn($number,$precision = 1,$case = 'e'){ //scientific notation
$precision--;
$string = str_replace('+','',sprintf('%.'.$precision.$case, $number))." ";
return $string;
}