在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代码约定(请参阅“混淆加号和减号”,从底部开始的第二部分):
一种方法是删除所有逗号:
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,''))
你可以在这里测试一下 。