利用Math.floor
priceTotal = Math.floor(priceTotal * 100) / 100;
以上 是之前的解決方法,后來在項目中發(fā)現(xiàn)一個問題是就是雖然購物車中各個商品總價相加不會有很多小數(shù)了垂谢,但是價格如果大一點的話型宙,用Math.floor就會發(fā)生錯誤,比如 100.05 * 3 就會等于 300.14 吝梅,應(yīng)該是300.15的 因為娶了相近的整數(shù)虱疏,再加上我用parseFloat轉(zhuǎn)化了浮點數(shù)。
最后使用的法
function toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return "";
}
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}