字符串转数字

在JavaScript中,将字符串转换为数字的方法有多种,以下是一些常用的方法:

  1. 使用 Number() 函数:
let data = "123"let newData = Number(data); // newData 的结果为:123

如果字符串中包含非数字字符,Number() 函数将返回 NaN(Not a Number)。

  1. 使用 parseInt() 函数:
let data = "123a"let newData = parseInt(data); // newData 的结果为:123

parseInt() 函数解析字符串并返回第一个整数值,忽略字符串中的非数字字符。

  1. 使用 parseFloat() 函数:
let data = "123.29a"let newData = parseFloat(data); // newData 的结果为:123.29

parseFloat() 函数解析字符串并返回第一个浮点数值,忽略字符串中的非数字字符。

  1. 使用一元运算符 +
let data = "123"let newData = +data; // newData 的结果为:123

一元加号运算符尝试将其操作数转换为数字。

  1. 使用 Math.floor() 函数:
let data = "123.29"let newData = Math.floor(data); // newData 的结果为:123

Math.floor() 函数返回小于或等于给定数字的最大整数。

  1. 使用双波浪号 ~~ 运算符:
let data = "123"let newData = ~~data; // newData 的结果为:123

双波浪号运算符将字符串转换为数字。

  1. 使用 int.TryParsedecimal.TryParse 方法(C#):
int number;
if (int.TryParse("11", out number))
{
    // 转换成功
}

TryParse 方法返回一个布尔值,指示转换是否成功,并以 out 参数形式返回转换后的数字。

选择哪种方法取决于您希望转换的数值类型以及字符串的格式。如果字符串可能包含小数部分,请使用 parseFloat();如果只需要整数部分,请使用 parseInt() 或一元运算符 +。如果字符串可能包含十六进制数,请使用 parseInt()decimal.TryParse 方法。

需要注意的是,在转换之前,最好先验证字符串是否确实包含有效的数字,以避免得到 NaN 结果。

Top