parseInt()
和
Number()
都是 JavaScript 中用于将字符串转换为数字的函数,但它们之间存在一些关键差异。
语法:
parseInt(string, radix)
:parseInt()
函数接受两个参数,第一个参数是字符串,第二个参数是基数(可选)。基数指定要使用的数字系统,默认为 10(十进制)。Number(string)
:Number()
函数只接受一个参数,即字符串。它会自动将字符串转换为数字,而无需指定基数。
返回值:
parseInt()
函数返回一个整数,该整数是字符串中第一个有效的数字序列。如果字符串中没有有效的数字序列,则返回NaN
(非数字)。Number()
函数返回一个浮点数,该浮点数是字符串中第一个有效的数字序列。如果字符串中没有有效的数字序列,则返回NaN
(非数字)。
处理非数字字符:
parseInt()
函数会忽略字符串中的非数字字符,并返回第一个有效的数字序列。Number()
函数会将字符串中的非数字字符转换为NaN
,并返回NaN
。
处理前导零:
parseInt()
函数会忽略字符串中的前导零,并返回第一个有效的数字序列。Number()
函数会将字符串中的前导零转换为数字,并返回相应的数字。
处理小数点:
parseInt()
函数会忽略字符串中的小数点,并返回第一个有效的数字序列。Number()
函数会将字符串中的小数点转换为浮点数,并返回相应的浮点数。
处理科学计数法
parseInt()
函数会忽略字符串中的科学计数法,并返回第一个有效的数字序列。Number()
函数会将字符串中的科学计数法转换为浮点数,并返回相应的浮点数。
总的来说, parseInt()
函数更适合于处理整数,而 Number()
函数更适合于处理浮点数。
代码示例
// 使用 parseInt() 函数将字符串转换为整数
const string = "123";
const number1 = parseInt(string);
console.log(number1); // 输出:123
// 使用 Number() 函数将字符串转换为浮点数
const string2 = "123.45";
const number2 = Number(string2);
console.log(number2); // 输出:123.45