我所说的是将字符串读入数字,例如
"$107,140,946"
---> 107140946
"$9.99"
---> 9.99
有没有比
更好的方法dolstr.replace('$','');
dolstr.replace(',','');
var num = parseInt(dolstr,10);
???
答案 0 :(得分:0)
使用简单的正则表达式和字符串的getnstr
函数
replace
击穿
它替换不是数字(0 - 9)而不是句点的字符的每个实例。请注意,必须使用反斜杠转义句点。
然后,您需要将函数包装在parseFloat(dolstr.replace(/[^\d\.]/g, ''))
中,以便从字符串转换为浮点数。
答案 1 :(得分:0)
使用正则表达式更容易阅读和维护
parseFloat(dolstr.replace(/\$|,/g, ""));
答案 2 :(得分:0)
你可以把所有这些都放在oneliner上:
parseFloat(dolstr.replace('$','').split(",").join(""))
请注意,我没有替换第二个,因为这将只删除第一个','。
答案 3 :(得分:0)
假设输入总是正确的,只需保留数字(\d
)和点(\.
)并删除其他字符。然后对结果运行parseFloat。
parseFloat(dolstr.replace(/[^\d\.]/g, ''))