【发布时间】:2015-10-07 06:50:59
【问题描述】:
我有以下代码:
window.total = 0;
$('.amount').each(function(){
if($(this).val()){
window.total += parseFloat( $.trim($(this).val()).replace(',',''));
}
});
console.log(window.total);
对于这个例子,.amount 类只有一个输入(可以有很多),当用户输入一个 7 位和 2 位小数的数字时,上面的代码将数字缩减为 4 位。
任何少于 7 位的数字都可以正常工作。任何想法为什么会发生这种情况?
Js 小提琴:Demo
【问题讨论】:
-
试试这个:
$.trim($(this).val()).replace(/,/g, '') -
工作得很好 -> jsfiddle.net/wsvkfhzx ?
-
我添加了一个小提琴,我能够重新创建错误。 @adeneo,我正在使用一个名为 maskMoney 的库,创建十进制值,所以这可能就是导致错误的原因。
-
那是因为您使用的库添加了多个逗号。第二条评论中的解决方案应该有效
-
谢谢大家,@SheraliTurdiyev 你的代码解决了它。非常感谢。
标签: javascript add