Javascript 添加十进制数的jquery
我试图将十进制数相加,但当我提醒变量Javascript 添加十进制数的jquery,javascript,jquery,Javascript,Jquery,我试图将十进制数相加,但当我提醒变量finalnumber时,我得到了零。变量number是一个十进制数。如何解决这个问题,使变量finalnumber是所有number的总和 var finalnumber = 0; $('#chosen-keyword-container').find('.keyword-row').each(function() { var number = $(this).find('td:last').find('input[name=bid-price[]
finalnumber
时,我得到了零。变量number
是一个十进制数。如何解决这个问题,使变量finalnumber
是所有number
的总和
var finalnumber = 0;
$('#chosen-keyword-container').find('.keyword-row').each(function() {
var number = $(this).find('td:last').find('input[name=bid-price[]]').val();
var finalnumber = parseInt(number) + parseInt(finalnumber);
});
只需将
var
关键字放在函数中的finalnumber
前面即可。使用该var
可以在该名称和范围下定义一个新变量。因此,基本上您有两个版本的finalnumber
,只需添加到本地版本(函数中的版本,而不是全局版本)
另一方面,在处理十进制数时,应将parseInt
更改为parseFloat
(参见@gdoron的答案)
旁注:您可以将parseInt()
放在finalnumber
的函数中。此变量始终是一个数值,因此无需对其进行转换。更改此值:
var finalnumber = parseInt(number)+parseInt(finalnumber);
为此:
finalnumber = finalnumber + parseFloat(number);
或:
无法保存十进制值。改用parseInt
parseFloat
- 不要用
声明var
,因为它会在外部范围中隐藏finalnumber
finalnumber
finalnumber = finalnumber + parseFloat(number);
我不确定这是否是您的问题,但如果您查看的是十进制数字,您可能需要parseFloat。输入字段中到底是什么?您是否尝试了“.”和“,”以及小数分隔符?
finalnumber += parseFloat(number);
finalnumber = finalnumber + parseFloat(number);