跳到主要内容

如何使用 Typescript 将字符串转换为数字?

参考答案:

在 TypeScript 中,你可以使用 JavaScript 的内置函数 parseFloat()parseInt() 来将字符串转换为数字。这两个函数都会尝试解析字符串,并返回解析得到的数字。如果字符串不能解析为数字,parseFloat() 会返回 NaN,而 parseInt() 会返回 0。

以下是如何使用这些函数的示例:

let str: string = "123.456";

// 使用 parseFloat
let floatNumber: number = parseFloat(str);
console.log(floatNumber); // 输出:123.456

// 使用 parseInt
let intNumber: number = parseInt(str);
console.log(intNumber); // 输出:123

// 如果字符串不能被解析为数字,结果是 NaN 或 0
let notANumber: string = "abc";

let nanFloat: number = parseFloat(notANumber);
console.log(isNaN(nanFloat)); // 输出:true

let nanInt: number = parseInt(notANumber);
console.log(nanInt); // 输出:NaN

请注意,parseInt() 在处理字符串时,只会解析到第一个不能解析为数字的字符为止,然后停止解析。所以,如果字符串中包含非数字字符,parseInt() 会返回在该字符之前的所有数字字符解析得到的数字。

另外,你也可以使用 TypeScript 的类型断言来将字符串转换为数字,但这并不会检查字符串是否可以被解析为数字。所以,这种方法可能会引发运行时错误。

let str: string = "123.456";
let number: number = <number><any>str;
console.log(number); // 输出:123.456

一般来说,推荐使用 parseFloat()parseInt() 来将字符串转换为数字,因为它们会进行必要的错误检查。