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

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

当前回答

有三种方法

 let a = + '12'; 
 let b = parseInt('12' , 10); // 10 means decimal number
 let c = Number('12');

其他回答

如果你只是在谈论类型,就像其他人所说的那样,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

使用=>convertstring(“10.00”)调用函数

parseFloat(string)=>可用于转换为float,toFixed(4)=>小数位数

parseInt(str)=>可用于转换为整数

convertstring(string){
    let number_parsed: any = parseFloat(string).toFixed(4)
    return number_parsed
}

最简单的方法是使用+strVal或Number(strVal)

示例:让strVal1=“123.5”让strVal2=“一”设val1a=+strVal1设val1b=数字(strVal1)let val1c=parseFloat(strVal1)let val1d=parseInt(strVal1)让val1e=+strVal1-parseInt(strVal1)设val2a=+strVal2console.log(“val1a->”,val1a)//123.5console.log(“val1b->”,val1b)//123.5console.log(“val1c->”,val1c)//123.5console.log(“val1d->”,val1d)//123console.log(“val1e->”,val1e)//0.5console.log(“val2a->”,val2a)//NaN