JS 字符串转为数字

JS 字符串转为数字

JS 字符串转为数字

JavaScript 中,我们经常需要将字符串转换为数字,这在处理用户输入或者从后端接收数据时尤为常见。本文将详细介绍如何将字符串转换为数字,包括整数和浮点数,并且讨论一些常见的异常情况和解决方案。

parseInt() 函数

JavaScript 中,我们可以使用 parseInt() 函数将字符串转换为整数。该函数接受两个参数,第一个参数是要转换的字符串,第二个参数是进制数(可选,默认为十进制)。

let str = "123";
let num = parseInt(str);

console.log(num); // 123
console.log(typeof num); // number

在上面的示例中,我们将字符串 "123" 转换为整数 123。在不指定进制的情况下,默认为十进制。如果字符串的开头是数字,则会解析直到遇到非数字字符为止,例如:

let str = "123abc";
let num = parseInt(str);

console.log(num); // 123

需要注意的是,parseInt() 函数只会解析整数部分,如果遇到小数点则会停止解析。如果字符串以非数字字符开头,则会返回 NaN(Not a Number)。

parseFloat() 函数

除了将字符串转换为整数外,我们还可以使用 parseFloat() 函数将字符串转换为浮点数。该函数也只接受一个参数,要转换的字符串。

let str = "3.14";
let num = parseFloat(str);

console.log(num); // 3.14
console.log(typeof num); // number

在上面的示例中,我们将字符串 "3.14" 转换为浮点数 3.14parseFloat() 函数会一直解析直到遇到非数字字符为止,因此可以正确解析小数部分。

let str = "3.14abc";
let num = parseInt(str);

console.log(num); // 3.14

同样需要注意的是,如果字符串以非数字字符开头,则会返回 NaN

异常情况处理

在将字符串转换为数字时,可能会出现一些异常情况,例如空字符串或者包含无效字符的字符串。对于这些情况,我们可以使用条件判断来处理。

let str1 = "123";
let num1 = parseInt(str1);

let str2 = "";
let num2 = parseInt(str2);

let str3 = "abc";
let num3 = parseInt(str3);

if (!isNaN(num1)) {
  console.log(num1);
} else {
  console.log("Invalid number");
}

if (!isNaN(num2)) {
  console.log(num2);
} else {
  console.log("Invalid number");
}

if (!isNaN(num3)) {
  console.log(num3);
} else {
  console.log("Invalid number");
}

在上面的示例中,num1 是一个有效的整数,将被正确输出。num2 是一个空字符串,parseInt() 函数返回 NaN,将输出 “Invalid number”。num3 包含无效字符,同样返回 NaN

小结

通过 parseInt()parseFloat() 函数,我们可以将字符串转换为数字,包括整数和浮点数。在处理异常情况时,可以使用条件判断和 isNaN() 函数来进行处理。在实际开发中,需要注意用户输入的有效性,以避免出现不必要的错误。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程