parseInt() 是 JavaScript 中用于将字符串转换为整数的全局函数。它从字符串开头解析数字字符,直到遇到第一个非数字字符为止,并支持指定进制。parseInt() 是处理字符串到整数转换的核心工具,尤其适用于解析用户输入、API返回的字符串数字或不同进制的数值。
javascript中parseint()的用法
parseInt()能够解析字符串中的数字部分,并忽略非数字字符,从字符串开头开始解析,直到遇到第一个非数字字符为止。parseInt() 还支持指定进制(基数),以处理不同进制的数字字符串。
1.语法
javascriptparseInt(string, radix);
string:要解析的字符串。如果传入非字符串类型,JavaScript 会自动将其转换为字符串。
radix(可选):表示要解析的数字的进制(基数),范围在 2 到 36 之间。如果未指定或为 0,JavaScript 会根据字符串前缀自动判断进制:
以 0x 或 0X 开头的字符串会被解析为十六进制。
以 0 开头且未指定 radix 的字符串可能被解析为八进制。
其他情况默认为十进制。
2.示例
1. 基本用法
javascriptconsole.log(parseInt("123")); // 输出: 123(十进制)console.log(parseInt("123", 10)); // 输出: 123(显式指定十进制)console.log(parseInt("0xFF")); // 输出: 255(十六进制)console.log(parseInt("1010", 2)); // 输出: 10(二进制)
2. 忽略非数字字符
javascriptconsole.log(parseInt("123abc")); // 输出: 123(忽略 "abc")console.log(parseInt("abc123")); // 输出: NaN(无法解析)
3. 自动进制推断(谨慎使用)
javascriptconsole.log(parseInt("010")); // 输出: 10(非严格模式下可能解析为八进制,但现代浏览器默认十进制)console.log(parseInt("0x10")); // 输出: 16(十六进制)
4. 特殊值处理
javascriptconsole.log(parseInt("", 10)); // 输出: NaN(空字符串)console.log(parseInt(null, 10)); // 输出: NaN(null 转换为 "null")console.log(parseInt(undefined, 10)); // 输出: NaN(undefined 转换为 "undefined")
5. 进制转换示例
javascriptconsole.log(parseInt("1010", 2)); // 输出: 10(二进制 "1010" → 十进制 10)console.log(parseInt("FF", 16)); // 输出: 255(十六进制 "FF" → 十进制 255)console.log(parseInt("ZZ", 36)); // 输出: 1295(36 进制 "ZZ" → 十进制 1295)
3.注意事项
始终指定 radix:
为避免自动进制推断的歧义(尤其是以 0 开头的字符串),建议始终显式指定 radix,例如 parseInt("010", 10)。
非数字字符终止解析:
parseInt() 从字符串开头解析,遇到第一个非数字字符时停止。例如:
javascriptconsole.log(parseInt("123.45")); // 输出: 123(忽略小数点及后续内容)
与 Number() 的区别:
parseInt("123.45") 返回 123忽略小数部分。
Number("123.45") 返回 123.45完整解析为数字。
以上就是关于javascript中parseint()的用法相关介绍,parseInt() 是处理字符串到整数转换的实用工具,尤其适合解析用户输入、API 返回的字符串数字或不同进制的数值。务必注意指定 radix 并了解其解析规则,以避免意外行为。