添加 9 位值时出现奇怪的 javascript 问题

Strange javascript issue when adding 9 digit values

我有以下代码:

    window.total = 0;
    $('.amount').each(function(){       
        if($(this).val()){
        window.total += parseFloat( $.trim($(this).val()).replace(',',''));
        }               
    });
    console.log(window.total);

对于这个例子,只有一个输入class.amount(可以有很多),当用户输入一个7位数字和2个小数点的数字时,上面的代码将数字截断低至 4 位数。

任何少于 7 位的数字都可以正常工作。知道为什么会这样吗?

Js Fiddle : Demo

在这种情况下,您应该使用"xxx,xxx,xxx.xx".replace(/,/g, '');。它会起作用 Demo

另外,你可以看到这个答案: