ahm*_*med 34 php syntax formatting numbers
在PHP中,我有以下代码:
<?PHP
$var = .000021;
echo $var;
?>
Run Code Online (Sandbox Code Playgroud)
输出为2.1E-5!
为什么?它应该打印.000021
acr*_*man 50
使用number_format()来获得你想要的东西:
print number_format($var, 5);
Run Code Online (Sandbox Code Playgroud)
还要检查sprintf()
如果要按预期查看数字,请使用number_format或sprintf.
echo sprintf('%f', $var);
echo number_format($var, 6);
Run Code Online (Sandbox Code Playgroud)
通常,数字是数字,而不是字符串,这意味着任何编程语言都将数字视为数字.因此,数字本身并不意味着任何特定的格式(比如使用.000021
而不是2.1e-5
).这与显示带前导零(例如0.000021
)的数字或对齐数字列表没什么不同.这是您可以在任何编程语言中找到的一般问题:如果您需要特定格式,则需要使用编程语言的格式函数来指定它.
除非您将数字指定为字符串,并在需要时将其转换为实数.有些语言可以隐式执行此操作.
要显示最多8个小数位的数字,而在右边不带多余的零(如number_format那样,可能很烦人),请使用以下命令:
echo rtrim(rtrim(sprintf('%.8F', $var), '0'), ".");