JavaScript 的 parseInt() 方法详解
parseInt()
函数解析一个字符串参数并返回指定基数的整数。
示例
const stringDate = "1996";
// 将字符串解析为十进制
let intDate = parseInt(stringDate, 10);
console.log(intDate);
// 输出: 1996
parseInt()语法
parseInt()
函数的语法是:
parseInt(string, radix);
parseInt()参数
parseInt()
函数接受:
- string - 要解析的值。如果它不是字符串,将使用
ToString
抽象操作将其转换为字符串。 - radix(可选) - 表示数字系统中基数的一个整数,介于2到36之间。
parseInt()返回值
-
返回从给定字符串解析出的整数。
-
当以下情况发生时,返回
NaN
: -
radix小于2或大于36。
-
第一个非空白字符无法转换为数字。
示例:使用parseInt()
console.log(parseInt("875.99", 10)); // 875
console.log(parseInt("F", 16)); // 15
console.log(parseInt("0xF")); // 15 -> JavaScript认为0x...为十六进制
console.log(parseInt("-17", 8)); // -15
// 数字解析直到非数字字符
console.log(parseInt("85,123", 10)); // 85
console.log(parseInt("FXX123", 16)); // 15
console.log(parseInt("45", 13)); // 57
console.log(parseInt("Hello", 8)); // NaN
console.log(parseInt("546", 2)); // NaN -> 二进制只有1或0,所以无效
// BigInt值会丢失精度
console.log(parseInt("464546416543075614n")); // 464546416543075600
输出
875;
15;
15 - 15;
85;
15;
57;
NaN;
NaN;
464546416543075600;
注意: 如果radix
参数是undefined
、0或未指定,JavaScript将考虑以下情况:
- 如果字符串以**"0x"开头,
radix
是16**(十六进制)。 - 如果字符串以**"0"开头,
radix
是8**(八进制)或10(十进制)。确切的radix
取决于实现。 - 如果字符串以任何其他值开头,
radix
是10(十进制)。
推荐阅读: JavaScript parseFloat()