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

有帮助吗?

解决方案

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

其他提示

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

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

然后 将其传递给Parseint:

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

但是您需要在这里小心。将逗号用作成千上万的分离器是一种文化上的事物。在某些地区,数字 1,234,567.89 会写的 1.234.567,89.

如果您只有数字和逗号:

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

+ 施放字符串 str 如果可以的话。为了使其尽可能清楚,请将其与Parens包裹:

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

因此,如果您在语句中使用它,它在视觉上更为单独( + +x看起来与++ x非常相似):

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

JavaScript代码约定(请参阅“底部的第二部分”,请参阅“混乱的柱塞和缺点”):

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

您可以这样做:

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

在解析之前,请使用正则罚款删除逗号

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

您可以在这里测试.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top