我想在下面的代码中舍入到两位小数,但是,在很多情况下,控制小数位数的Math Round方法对我来说不起作用。
var newKitAmount = 1;
var priceNumber = 168;
var updatedTotal = Math.round(priceNumber * newKitAmount*100)/100;
alert("total is : " + updatedTotal); //OUTPUTS 168 instead of 168.00
生成的输出:168
所需的输出:168.00
示例二:5 * 2 = 10
所需的输出:10.00
我做错了什么?我该如何解决?
答案 0 :(得分:8)
如果您想在字符串中的点后面获得固定的位数,则应使用toFixed:
var updatedTotal = (priceNumber * newKitAmount).toFixed(2);
答案 1 :(得分:1)
你应该使用一个函数来舍入,因为Firefox和Chrome之间的差异不会与toFixed相同的方式...
function toFixed(a,b){ //where a is the number and b is the number of decimals
var m = Math.pow(10,b);
return Math.round(parseFloat(a)*m)/m;
}