在 TypeScript(以及纯 JavaScript)中,有几种方法可以将字符串转换为数字:
- 使用
Number
函数:
const str = "123";
const num = Number(str);
console.log(num); // 输出: 123
请注意,如果字符串不能被解析为有效的数字,Number
函数将返回 NaN
(不是数字)。
- 使用
parseInt
或parseFloat
函数:
const str = "123";
const intNum = parseInt(str, 10); // 第二个参数是基数,10 表示十进制
console.log(intNum); // 输出: 123const floatStr = "123.45";
const floatNum = parseFloat(floatStr);
console.log(floatNum); // 输出: 123.45
parseInt
会解析整数,而 parseFloat
会解析浮点数。与 Number
一样,如果字符串不能被解析为有效的数字,这些函数也会返回 NaN
。
- 使用一元加号运算符:
const str = "123";
const num = +str;
console.log(num); // 输出: 123
这种方法是 Number
函数的简写形式,行为也相同。如果字符串不能被解析为数字,将返回 NaN
。
- 使用
~~
(双位非运算符)或|
(位或运算符)进行整数转换:
const str = "123.45";
const intNum = ~~str; // 使用双位非运算符
console.log(intNum); // 输出: 123const intNum2 = str | 0; // 使用位或运算符与 0
console.log(intNum2); // 输出: 123
这些方法通常用于将字符串转换为整数,但它们会丢弃小数部分。如果字符串不能被解析为数字,结果可能是 0
而不是 NaN
。
在处理用户输入或不确定的数据时,建议始终检查转换后的值是否有效(例如,不是 NaN
),以确保程序的健壮性。