【发布时间】:2018-06-19 03:24:04
【问题描述】:
我正在制作一个简单的计算公式来计算百分比。但我收到一个错误,上面写着First argument contains NaN in property 'percent.percentKey.percentMale。我正在使用 Angular 和 Typescript 和 Angularfire 将数据存储到数据库中。我在一个类中定义了属性。
//app.ts
export class App {
$key: string;
gender: string;
male: number = 0;
female: number = 0;
percentMale: number = 0;
percentFemale: number = 0;
}
//app.service.ts
insertdata(data: App) {
this.dataList.push({
gender: data.gender,
});
if (data.gender == 'Male') {
//this.male ++;
data.male = data.male++
} else if (data.gender == 'Female') {
//this.female ++;
data.female = data.female++
}
data.percentMale = data.male / (data.male + data.female) * 100
console.log('male', data.male + '%');
data.percentFemale = data.female / (data.male + data.female) * 100
console.log('female', data.female + '%');
console.log('1', data.percentMale); //it returns NaN
console.log('2', data.percentFemale); //it returns NaN
this.percentList.update("percentKey", {
percentMale: data.percentMale,
percentFemale: data.percentFemale
})
}
我已经在服务中导入了类,并在 component.ts 中调用了insertdata 函数,如this.AppService.insertpertanyaan(this.AppService.selectedpertanyaan);。
任何人都可以帮助我吗?如果需要更多的 sn-ps,请告诉我。谢谢。
【问题讨论】:
-
可以除以零吗?也许
data.percentMale + data.female为零。您可以将该值记录到控制台。 -
我更新了我的代码
-
你的问题是
data.percentMale是NaN吗? -
它仍然返回错误
First argument contains NaN in property 'percent.percentKey.percentMale -
你可以在
this.percentList.update(...)之前检查console.log("data.percentMale", data.percentMale);。
标签: angular typescript firebase angularfire2