如何在Javascript中添加美元金额

Ont*_*omo 3 javascript math currency

我只想添加数字(货币,如果你愿意),像1.5和1.47一样,并使它等于1.97.

这是如何完成的?我不知道我不知道怎么做!:)

var discountAmount = 0;
var ogCookie = < %= strJsonCookie % >
for (var i = 0; i < ogCookie.products.length; i++) {
    discountAmount = parseFloat(discountAmount) + parseFloat(ogCookie.products[i].discount_amount);
}
alert(discountAmount);
Run Code Online (Sandbox Code Playgroud)

小智 8

使用parseFloat而不是parseInt:

 parseFloat("1.19") + parseFloat("2.82") == 4.01
Run Code Online (Sandbox Code Playgroud)


And*_*y E 6

正如其他人所提到的,你应该使用parseFloat而不是parseInt.但是,由于精度问题,您可能还需要.toFixed(2)在显示计算结果时使用.使用您的示例,1.5 + 1.47可能会导致2.9699999999999998- 使用.toFixed(2)将纠正这种不精确性2.97.

var discountAmount = 0;
var ogCookie = < %= strJsonCookie % >
for (var i = 0; i < ogCookie.products.length; i++) {
    discountAmount += parseFloat(ogCookie.products[i].discount_amount);
}
// Output at 2 decimal places
alert(discountAmount.toFixed(2));
Run Code Online (Sandbox Code Playgroud)

另请注意,我还通过删除不必要的调用和使用添加赋值运算符()来略微优化代码.parseFloat+=