给定一个数字的字符串表示,如何在TypeScript中将其转换为数字类型?
var numberString: string = "1234";
var numberValue: number = /* what should I do with `numberString`? */;
给定一个数字的字符串表示,如何在TypeScript中将其转换为数字类型?
var numberString: string = "1234";
var numberValue: number = /* what should I do with `numberString`? */;
当前回答
在最新版本中,您可以使用,例如:
var numberString: string = "1234";
const numberValue = numberString as number;
其他回答
就像在JavaScript中一样,您可以使用parseInt或parseFloat函数,或者简单地使用一元+运算符:
var x = "32";
var y: number = +x;
所有提到的技术都将具有正确的类型,并将正确解析简单的十进制整数字符串(如“123”),但对于其他可能的情况(如“123.45”)和角点情况(如null),它们的行为会有所不同。
此答案中的表格
在解释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类型转换中所有有趣的深入细节。
有三种方法
let a = + '12';
let b = parseInt('12' , 10); // 10 means decimal number
let c = Number('12');
打字方式如下:
Number('1234') // 1234
Number('9BX9') // NaN
如这里所回答的:https://stackoverflow.com/a/23440948/2083492
常量myNumber=1200;//转换为十六进制值console.log(myNumber.toString(16))//将返回4b0//其他转换为十六进制的方法console.log(Math.abs(myNumber).toString(16))//将返回4b0//转换为十进制值console.log(parseFloat(myNumber.toString()).toFixed(2))//将返回1200.00
用于将其他格式转换为十进制的参考
二进制到十进制十六进制到十进制数字转换器