在 JavaScript / jQuery 中,将带逗号的数字转换为整数的最佳方法是什么?
我想将字符串“15,678”转换为值 15678。方法 parseInt()
和 parseFloat()
都为“15,678”返回 15。有没有简单的方法可以做到这一点?
I want to convert the string "15,678" into a value 15678. Methods parseInt()
and parseFloat()
are both returning 15 for "15,678." Is there an easy way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
最简单的选项是删除所有逗号:
parseInt(str.replace(/,/g, ''), 10)
The simplest option is to remove all commas:
parseInt(str.replace(/,/g, ''), 10)
一种方法是使用: 删除所有逗号
,然后将其传递给 parseInt:
但这里需要小心。使用逗号作为千位分隔符是一种文化。在某些地区,数字
1,234,567.89
将写作1.234.567,89
。One way is to remove all the commas with:
and then pass that to parseInt:
But you need to be careful here. The use of commas as thousands separators is a cultural thing. In some areas, the number
1,234,567.89
would be written1.234.567,89
.如果只有数字和逗号:
如果可以,
+
将字符串str
转换为数字。为了尽可能清楚地说明这一点,请用括号括起来:因此,如果您在语句中使用它,它在视觉上会更加独立(+ +x 看起来与 ++x 非常相似):
Javascript 代码约定(请参阅“令人困惑的优点和缺点” ”,从底部开始的第二部分):
http://javascript.crockford.com/code.html
If you only have numbers and commas:
The
+
casts the stringstr
into a number if it can. To make this as clear as possible, wrap it with parens:therefore, if you use it in a statement it is more separate visually (+ +x looks very similar to ++x):
Javascript code conventions (See "Confusing Pluses and Minuses", second section from the bottom):
http://javascript.crockford.com/code.html
你可以这样做:
You can do it like this:
在解析之前使用正则表达式删除逗号,如下所示
您可以在此处测试。
Use a regex to remove the commas before parsing, like this
You can test it here.