给定一个数字的字符串表示,如何在TypeScript中将其转换为数字类型?

var numberString: string = "1234";
var numberValue: number = /* what should I do with `numberString`? */;

当前回答

如果你只是在谈论类型,就像其他人所说的那样,parseInt()等将返回正确的类型。此外,如果由于任何原因,该值可能是数字或字符串,并且您不想调用parseInt(),则typeof表达式也将强制转换为正确的类型:

function f(value:number|string){
  if(typeof value==='number'){
   // value : number
  }else {
   // value : string
  }
}

其他回答

您可以遵循以下任一方式。

var str = '54';

var num = +str; //easy way by using + operator
var num = parseInt(str); //by using the parseInt operation 

打字方式如下:

Number('1234') // 1234
Number('9BX9') // NaN

如这里所回答的:https://stackoverflow.com/a/23440948/2083492

在解释Ryan所说的内容时,TypeScript概括了JavaScript的习惯用法。

var n = +"1"; // the unary + converts to number
var b = !!"2"; // the !! converts truthy to true, and falsy to false
var s = ""+3; // the ""+ converts to string via toString()

JavaScript类型转换中所有有趣的深入细节。

在最新版本中,您可以使用,例如:

var numberString: string = "1234";
const numberValue = numberString as number;

Typescript中有parseInt()、parseFloat()和Number()等内置函数,您可以使用它们。