Dav*_*vid 22 javascript jquery string-parsing
我想将字符串"15,678"转换为值15678.方法parseInt()
并且parseFloat()
都返回15为"15,678".是否有捷径可寻?
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
.
如果你只有数字和逗号:
+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