我正在使用jQuery的.each()
并获取一些数字。我正在用这些数字做一些数学运算,并试图将结果相加,但不是将其相加。到目前为止,这是我的代码:
if (zName == 'Premium') {
$('.product-total .productitemcell .productitemcell').each(function (index, value) {
oPrice = parseFloat($(this).text().replace('$', ''));
nPrice = parseFloat(oPrice - (oPrice * (10 / 100))).toFixed(2);
subTotal += nPrice;
$(this).html('<s>$' + oPrice + '</s> <span style="color:#ef0f0f;">$' + nPrice + '</span>');
});
}
console.log(subTotal);
最佳答案
.toFixed()
函数返回字符串,而不是数字。
(此外,“ oPrice”,“ nPrice”和“ subTotal”应使用var
声明;也许它们未显示在代码中。)
从.toFixed()
的返回值进行转换不一定会保留发生的任何分数截断。使用JavaScript浮点数学进行货币数学非常棘手且容易出错。