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

Dav*_*vid 22 javascript jquery string-parsing

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

SLa*_*aks 39

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


pax*_*blo 10

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

strnum = strnum.replace(/\,/g, '');
Run Code Online (Sandbox Code Playgroud)

并且然后传递给parseInt函数:

var num = parseInt(strnum.replace(/\,/g, ''), 10);
Run Code Online (Sandbox Code Playgroud)

但是你需要在这里小心.使用逗号作为千位分隔符是一种文化事物.在某些地区,1,234,567.89会写下这个号码1.234.567,89.

  • `parseInt()`在被调用时应该被提供一个基数,以消除数字的十六进制解释. (2认同)

Jus*_*ago 8

如果你只有数字和逗号:

+str.replace(',', '')
Run Code Online (Sandbox Code Playgroud)

+注塑字符串str,如果它可以转化为数字.为了使其尽可能清晰,请用parens包裹它:

(+str.replace(',', ''))
Run Code Online (Sandbox Code Playgroud)

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

var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));
Run Code Online (Sandbox Code Playgroud)

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

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