您的位置:

parseint的含义及用途

一、基本概念

parseInt()是JavaScript中的函数,主要用于把字符串转化为整数类型(number)。

语法:parseInt(string, radix)

其中,string表示要被转换的字符串,radix为可选参数,表示要被解析的数字的基数。

返回值:将string解析成为整数后的结果。

二、用途

parseInt()主要应用在以下几个方面:

1. 网页表单验证

// 比如,以下代码用于验证输入的数字是否为1~100之间的整数
function validateNumber(){
  let num = document.getElementById("userNum").value;
  if(num === ""){
    alert("请输入数字!");
    return false;
  }
  let newNum = parseInt(num);
  if(newNum >= 1 && newNum <= 100 && Number.isInteger(newNum)){
    alert("输入正确");
    return true;
  } else {
    alert("请输入1~100之间的整数!");
    return false;
  }
}

2. 与数组的配合使用

在数组的排序或查找操作中,经常需要将字符串类型转换为数字类型。举个例子:

let arr = ["10", "2", "30", "5", "100"];
arr.sort(function(a, b){
  return parseInt(a) - parseInt(b);
});
console.log(arr); // 输出 ["2", "5", "10", "30", "100"]

3. 字符串的拼接与转换

let str = "123";
let newStr = str + "";
console.log(newStr); // 输出 "123"
let newNum = parseInt(newStr);
console.log(newNum); // 输出 123

三、注意事项

1、如果字符串中存在非数字字符,parseInt()会将其忽略,只返回前面的数字部分。

let str = "123xyz";
let newNum = parseInt(str);
console.log(newNum); // 输出 123

2、如果不传入基数参数,parseInt()会默认使用十进制进行转换。如果字符串以"0x"开头,会自动转换为十六进制数。

let str1 = "13";
let str2 = "0x13";
let num1 = parseInt(str1);
let num2 = parseInt(str2);
console.log(num1); // 输出 13
console.log(num2); // 输出 19

3、对于小数类型的字符串,只会返回整数部分。

let str = "3.14";
let newNum = parseInt(str);
console.log(newNum); // 输出 3

4、字符串长度超过15位时,由于JS数字的精度问题,parseInt()可能会出现错误的结果。建议使用BigInt类型进行转换。

let str = "1234567890123456";
let newNum = parseInt(str);
console.log(newNum); // 输出 1.234567890123456e+15
let bigIntNum = BigInt(str);
console.log(bigIntNum); // 输出 1234567890123456n