我需要将货币四舍五入到小数点后两位。
两个都
Math.round(num*Math.pow(10,2))/Math.pow(10,2)
和
Math.round(num*Math.pow(10,2))/Math.pow(10,2)
工作,除了它会切断任何尾随零,所以我得到29.9
而不是29.90
.
解决这个问题的最佳方法是什么?
我需要将货币四舍五入到小数点后两位。
两个都
Math.round(num*Math.pow(10,2))/Math.pow(10,2)
和
Math.round(num*Math.pow(10,2))/Math.pow(10,2)
工作,除了它会切断任何尾随零,所以我得到29.9
而不是29.90
.
解决这个问题的最佳方法是什么?
您可以将此添加到要设置特定格式的数字
.toFixed(2)
(Math.round(num*Math.pow(10,2))/Math.pow(10,2)).toFixed(2)
我在用这个,好像没问题
Math.round(x * 100)/100
它看起来最短
将其视为总美分是有道理的。19.999 = 1999.9 美分,小数点后第 3 位无所谓,反正你也付不起。
这是有道理的:
function convertToMoney(val){
return (Math.floor(val*100).toFixed(0)/100).toFixed(2);
}