Javascript:为什么这会产生丑陋的字符串??? 我想要货币

Hca*_*tek 6 javascript jquery string-formatting

 var total = 0;
        $(".amount").each(function() {
            var value = $(this).val();
            value = (value.length < 1) ? 0 : value;
            var tmp = parseFloat(value).toFixed(2);
            total += tmp;
        });
        $(".total").text(total);
Run Code Online (Sandbox Code Playgroud)

我试图循环一些文本框并总结他们的价值观.这会产生令人讨厌的字符串.我错过了什么?如果我在第一个文本框中放入8,则总文本最终为"08.000.000.000.00".我究竟做错了什么?我想格式化为货币,但如果没有,至少只是两位十进制数.有什么指针吗?

谢谢,〜在圣地亚哥

Que*_*tin 13

.toFixed将对象从Number转换为String.

保留完整的值,并仅在最后使用.toFixed进行转换

$(".total").text(total.toFixed(2));
Run Code Online (Sandbox Code Playgroud)

或者,将字符串转换回数字.

total = total + + tmp;
Run Code Online (Sandbox Code Playgroud)