我的功能有以下几行:
payementReceived=data.toJSON().total;
paymentTotal=$("#paymentTotal").html();
console.log(typeof(parseInt(paymentTotal)));
console.log(typeof(parseInt(paymentReceived)));
console.log(parseInt(paymentTotal)-parseInt(paymentReceived));
我在控制台中获得以下内容
number
number
NaN
我不明白两者是否都是数字,那么为什么它无法给出正确的减法结果。
答案 0 :(得分:2)
值为number
,因为它们的内容是数字,但并不意味着该数字有效。
typeof NaN === 'number'
如果您从减法中获得NaN
,则您的一个或两个输入值都是无效数字。
答案 1 :(得分:0)
问题是因为未确定的变量使用“付款已收到”,如果您确定结果是一个数字,您可以随时使用 parseInt
console.log(parseInt(paymentTotal)-parseInt(payementReceived));
答案 2 :(得分:0)
一个有趣的想法:
if (typeof n === "number" && n+1 !== n) {
// this is a valid number
}
无效+ 1仍然无效,因此可以检查无效数字。
答案 3 :(得分:-1)
尝试以下代码
的console.log(号码(paymentTotal)个(payementReceived));