angular - 减法方法返回 NaN 结果
问题描述
我试图减去两个已经存在的数字。当我点击cut
方法时,它会返回NaN
export class Tab2Page implements OnInit {
categories: AngularFireList<any>;
userBlnc :any // user balance in database
constructor(public af: AngularFireDatabase, public afAuth: AngularFireAuth, public router: Router,
public a: LoadingController, public m: AlertController) { }
ngOnInit(): void {
this.afAuth.authState.subscribe(async user => {
if (user) {
// Getting user balance from database
this.af.list("/users/" + user.uid + '/profile').valueChanges().subscribe((data: any) => {
this.userBlnc = data; // output array
})
} else {
this.router.navigate(['signin'])
}
})
}
// alert dialog to confirm Subtraction
async open(a) {
const alert = await this.m.create({
cssClass: 'my-custom-class',
message: "شراء فئة" + a.name + " بسعر " + a.price + " د٫ع ",
buttons: [
{
text: 'الغاء',
role: 'cancel',
handler: () => {
console.log('Confirm Cancel');
}
}, {
text: 'شراء',
cssClass: 'btn_buy',
handler: () => {
this.cut(a);
}
}
]
});
await alert.present();
}
// excite Subtraction
async cut(a) {
let fpaValue: any
if (Number(this.userBlnc[0])) {
if ( Number(a.price)>Number(this.userBlnc[0])) {
fpaValue = (Number(a.price) - Number(this.userBlnc[0]))
console.log(fpaValue)
alert(fpaValue)
} else {
alert('no balance engough')
}
}
}
}
解决方案
我发现了这个问题。我意识到我的数据库中的数字是用“阿拉伯字体”写的,所以这就是他返回 NaN 结果的原因。所以我改成英文数字,他工作正常。:)
推荐阅读
- azure-ad-b2c - 密码重置的 AADB2C 成本
- r - 在列中的两个值之间填充行
- gmail-api - 主题状态
- java - 在带有 cassandra 和 java 的不良系统中使用 Apache Spark
- php - 我正在尝试使用 PHP 在我的数据库上创建一个表,到目前为止,我已经设法使用 PHP 创建了一个数据库,但未能创建表/表
- amazon-web-services - AWS Cloudformation 堆栈 - 主路由表
- html - 选择标签中未显示的具体化选项
- r - 在 R 中的 circlize 包中绘制图
- git - 如何在特定提交 git 后获取某些扩展的总行数
- swift - 如何在 swift 中为枚举添加更多案例