在JavaScript / jQuery中,用逗号将数字转换为整数的最佳方法是什么?

我想将字符串“15,678”转换为值15678.方法parseInt()parseFloat()都为“15,678”返回15。 是否有捷径可寻?

最简单的选择是删除所有逗号: parseInt(str.replace(/,/g, ''), 10)

如果你只有数字和逗号:

 +str.replace(',', '') 

+如果可以,将字符串str转换为数字。 为了使其尽可能清晰,请用parens包裹它:

 (+str.replace(',', '')) 

因此,如果你在一个语句中使用它,它在视觉上更加独立(+ + x看起来非常类似于++ x):

 var num = (+str1.replace(',', '')) + (+str1.replace(',', '')); 

Javascript代码约定(请参阅“混淆加号和减号”,从底部开始的第二部分):

http://javascript.crockford.com/code.html

一种方法是删除所有逗号:

 strnum = strnum.replace(/\,/g, ''); 

然后将其传递给parseInt:

 var num = parseInt(strnum.replace(/\,/g, ''), 10); 

但是你需要在这里小心。 使用逗号作为千位分隔符是一种文化事物。 在某些地区,数字1,234,567.89将写成1.234.567,89

你可以这样做:

 var value = parseInt("15,678".replace(",", "")); 

在解析之前使用正则表达式删除逗号,就像这样

 parseInt(str.replace(/,/g,''), 10) //or for decimals as well: parseFloat(str.replace(/,/g,'')) 

你可以在这里测试一下 。