如何将字符串(前导零或不是)转换为整数?例如,'08'
到8
。
答案 0 :(得分:18)
有几种方法可以将字符串转换为数字I prefer to use一元+
运算符:
var number = +"08"; // 8
这相当于写作:
var number = Number("08"); // 8
与parseInt()
不同,当使用+
或Number()
时,不需要基数,因为内部数字转换不会解析八进制数。如果您需要parseInt()
或parseFloat()
方法,它也非常简单:
var number = parseInt("08", 10); // 8
parseInt
和parseFloat
对用户输入的可靠性较低,因为这些函数可能会认为无效的数字文字可以挽救并返回意外结果。请考虑以下事项:
parseInt("1,000"); // -> 1, not 1000
+"1,000"; // -> NaN, easier to detect when there's a problem
额外阅读
答案 1 :(得分:6)
将parseInt()
与radix
参数一起使用。这会禁用基数的自动检测(前导0 - >八进制,前导0x - >十六进制):
var number = parseInt('08', 10);
// number is now 8
答案 2 :(得分:3)
你可以使用parseInt()
;使用基数10或parseFloat();
来解析浮点数
答案 3 :(得分:2)
使用parseInt
功能。参考:link