在Typescript中如何将字符串转换为数字?

在 TypeScript(以及纯 JavaScript)中,有几种方法可以将字符串转换为数字:

  1. 使用 Number 函数:
const str = "123";
const num = Number(str);
console.log(num); // 输出: 123

请注意,如果字符串不能被解析为有效的数字,Number 函数将返回 NaN(不是数字)。

  1. 使用 parseIntparseFloat 函数:
const str = "123";
const intNum = parseInt(str, 10); // 第二个参数是基数,10 表示十进制
console.log(intNum); // 输出: 123

const floatStr = "123.45";
const floatNum = parseFloat(floatStr);
console.log(floatNum); // 输出: 123.45

parseInt 会解析整数,而 parseFloat 会解析浮点数。与 Number 一样,如果字符串不能被解析为有效的数字,这些函数也会返回 NaN

  1. 使用一元加号运算符:
const str = "123";
const num = +str;
console.log(num); // 输出: 123

这种方法是 Number 函数的简写形式,行为也相同。如果字符串不能被解析为数字,将返回 NaN

  1. 使用 ~~(双位非运算符)或 |(位或运算符)进行整数转换:
const str = "123.45";
const intNum = ~~str; // 使用双位非运算符
console.log(intNum); // 输出: 123

const intNum2 = str | 0; // 使用位或运算符与 0
console.log(intNum2); // 输出: 123

这些方法通常用于将字符串转换为整数,但它们会丢弃小数部分。如果字符串不能被解析为数字,结果可能是 0 而不是 NaN

在处理用户输入或不确定的数据时,建议始终检查转换后的值是否有效(例如,不是 NaN),以确保程序的健壮性。

posted @ 2025-01-05 09:01  王铁柱6  阅读(146)  评论(0)    收藏  举报