四舍五入时,PHP数字格式降为零
我使用PHP的number_格式显示小数点后2位的浮点值 当数字大约为1.898时,它会被四舍五入到1.9 如何将其显示为1.90 更新: 我有一个函数,以四舍五入时,PHP数字格式降为零,php,jquery,number-formatting,Php,Jquery,Number Formatting,我使用PHP的number_格式显示小数点后2位的浮点值 当数字大约为1.898时,它会被四舍五入到1.9 如何将其显示为1.90 更新: 我有一个函数,以 return number_formant($num, 2); 调用函数的php脚本打印出Javascript使用的数字。当我对数字进行var_转储时,它会正确打印两位小数。看起来是Javascript失去了零 这是导致问题的JS代码 function show_level(level) { ... if (level > 9999
return number_formant($num, 2);
调用函数的php脚本打印出Javascript使用的数字。当我对数字进行var_转储时,它会正确打印两位小数。看起来是Javascript失去了零
这是导致问题的JS代码
function show_level(level) {
...
if (level > 9999)
level_label = (level / 1000).toPrecision(3) + 'k';
else if (level > 999)
level_label = (level / 1000).toPrecision(2) + 'k';
else
level_label = level;
我修改了最后一行,使它按我所希望的方式工作
level_label = level.toFixed(2);
你可以做:
echo round(1.898,2);
也许不是最好的解决方案,但:
$n = 1.2345;
$n = number_format( round($n, 1), 2);
//echo 1.20
echo $n;
所以,
你的意思是这样的(你所拥有的):
以下是您想要的:
<?php
echo number_format($x,2);
?>
您可以使用其他长度。试试看
希望能对你有所帮助
:)Psst:
sprintf
也有%f
。)但是,这就是它打印的内容。您可能没有立即写出字符串。显示你的代码。“当数字接近1.898时,它会被四舍五入到1.9”。不,那不是真的。很明显,用1表示小数而不是2,默认值是0,所以如果你必须用它表示货币,输出将是“2”。你也可以用:string money_format(string$format,float$number)你现在可以发布相关的JS代码了吗?Thx。这将导致舍入/精度误差。当你四舍五入到一位时,显示小数点后两位是不好的形式。这就是问题(在第一位)提出的问题,然后编辑。
<?php
echo number_format($x);
?>
<?php
echo number_format($x,2);
?>