我想将 string number
(表示为字符串的整数。例如 "12" )转换为 number
模型类
export class Person{
FirstName : string | undefined ;
Telephone: number | undefined ;
}
TS 文件
console.log("Person" + JSON.stringify(this.person));
JSON 显示为
{
"FirstName ": "hhhhh",
"Telephone": "1478525",
}
电话属性是一个数字,我希望它显示如下(没有“”_:
{
"FirstName ": "hhhhh",
"Telephone": 1478525,
}
我采取的方法。
this.person.Telephone = parseInt(telephone);
以上不起作用,它显示了用 string
括起来的相同数字。我还尝试了以下方法:
this.person.Telephone as number
这两种方法都不起作用。有人可以帮我解决这个问题吗?
如果我不转换为数字,则会出现错误:
<块引用>“无法将 JSON 值转换为 System.Int32。路径: $.电话|行号:2 | BytePositionInLine:18。"
答案 0 :(得分:1)
我想你可以试试这个 =>
let stringToNumberData = "123";
let numberValue = Number(stringToNumberData);
console.log(numberValue);
//Returns 123
或
if(!isNaN(Number(stringToNumberData ))){
let numberValue = Number(stringToNumberData );
console.log(numberValue);
} else{
console.log('Not a Number');
}
答案 1 :(得分:1)
只需使用标准的 javascript Number
this.person.Telephone = Number(telephone);
console.log("Person" + JSON.stringify(this.person));
答案 2 :(得分:0)
您可以使用一元运算符 +
export class Person{
FirstName : string | undefined;
Telephone: number | undefined;
}
let person = new Person();
person.FirstName = "Name";
person.Telephone = 12345;
console.log(person);
person.Telephone = +"12345";
console.log(person);
输出:
Person { FirstName: 'Name', Telephone: 12345 }
Person { FirstName: 'Name', Telephone: 12345 }
PS:使用字符串作为电话号码的数据类型。
答案 3 :(得分:0)
如果您想从字符串中获取数字,可以使用这种方法。
let person = {
name: "Some Name",
age: "45"
};
console.log('Person obj before modification ==>', person);
person.age = parseInt(person.age, 10);
console.log('Person object after modifying ==>', person);