给定一个数字的字符串表示,如何在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`? */;
当前回答
typescript需要知道我们的var a将是Number | | String
export type StringOrNumber = number | string;
export function toString (v: StringOrNumber) {
return `${v}`;
}
export function toNumber (v: StringOrNumber) {
return Number(v);
}
export function toggle (v: StringOrNumber) {
return typeof v === "number" ? `${v}` : Number(v);
}
其他回答
对于我们的其他Angular用户:
在模板中,Number(x)和parseInt(x)抛出错误,+x无效。有效铸件为x*1或x/1。
有三种方法
let a = + '12';
let b = parseInt('12' , 10); // 10 means decimal number
let c = Number('12');
typescript需要知道我们的var a将是Number | | String
export type StringOrNumber = number | string;
export function toString (v: StringOrNumber) {
return `${v}`;
}
export function toNumber (v: StringOrNumber) {
return Number(v);
}
export function toggle (v: StringOrNumber) {
return typeof v === "number" ? `${v}` : Number(v);
}
就像在JavaScript中一样,您可以使用parseInt或parseFloat函数,或者简单地使用一元+运算符:
var x = "32";
var y: number = +x;
所有提到的技术都将具有正确的类型,并将正确解析简单的十进制整数字符串(如“123”),但对于其他可能的情况(如“123.45”)和角点情况(如null),它们的行为会有所不同。
此答案中的表格
Typescript中有parseInt()、parseFloat()和Number()等内置函数,您可以使用它们。