我正在使用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);
答案 0 :(得分:3)
.toFixed()
函数返回一个字符串,而不是数字。
(另外,&#34; oPrice&#34;,&#34; nPrice&#34;和&#34; subTotal&#34;应该用var
声明;也许它们在代码中未显示。)
从.toFixed()
的返回值转换必然会保留发生的任何分数截断。使用JavaScript浮点数学进行货币数学计算是棘手且容易出错的。