如何在 JavaScript 中将字符串转换为整数?
原文由 []( https://stackoverflow.com/questions/1133770/how-to-convert-a-string-to-an-integer-in-javascript) 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在 JavaScript 中将字符串转换为整数?
原文由 []( https://stackoverflow.com/questions/1133770/how-to-convert-a-string-to-an-integer-in-javascript) 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试 parseInt 函数:
var number = parseInt("10");
但有一个问题。如果您尝试使用 parseInt 函数转换“010”,它会检测为八进制数,并将返回数字 8。因此,您需要指定一个基数(从 2 到 36)。在本例中,基数为 10。
parseInt(string, radix)
例子:
var result = parseInt("010", 10) == 10; // Returns true
var result = parseInt("010") == 10; // Returns false
请注意 parseInt
在解析任何有效数据后忽略错误数据。
此 guid 将解析为 51:
var result = parseInt('51e3daf6-b521-446a-9f5b-a1bb4d8bac36', 10) == 51; // Returns true
原文由 Zanoni 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
最简单的方法是使用本机
Number
函数:如果这对您不起作用,那么还有 parseInt 、 unary plus 、 带有 floor 的 parseFloat 和 Math.round 方法。
解析:
一元加
如果您的字符串已经是整数形式:
如果您的字符串是或可能是浮点数并且您想要一个整数:
或者,如果您要多次使用 Math.floor:
如果您是那种在调用 parseInt 时忘记输入基数的类型,则可以使用 parseFloat 并根据需要对其进行四舍五入。这里我使用地板。
有趣的是,Math.round(如 Math.floor)会进行字符串到数字的转换,所以如果你想要四舍五入的数字(或者如果你的字符串中有一个整数),这是一个很好的方法,也许是我最喜欢的: