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

时间:2010-11-03 00:51:22

标签: javascript jquery string-parsing

我想将字符串“15,678”转换为值15678.方法parseInt()parseFloat()都返回15为“15,678”。有一个简单的方法吗?

5 个答案:

答案 0 :(得分:38)

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

答案 1 :(得分:10)

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

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

然后将其传递给parseInt:

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

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

答案 2 :(得分:8)

如果你只有数字和逗号:

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

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

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

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

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

Javascript代码约定(请参阅“混淆优缺点”,从底部开始的第二部分):

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

答案 3 :(得分:2)

你可以这样做:

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

答案 4 :(得分:1)

使用正则表达式在解析之前删除逗号,如此

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

You can test it here