我正在使用JQuery Calculation plugin以下脚本:
function recalc() {
jQuery("input[class^=percent]").calc(
"(invoice - cost)/invoice * 100",
{
invoice: jQuery("input[class^=invoice]"),
cost: jQuery("input[class^=cost]")
},
function(s) {
// return the number as a perrcent amount
return s.toFixed(2) + "%";
}
)
};
想知道如何在计算无效时停止显示“NaN%”(例如,除以零)并显示空字符串。
非常感谢任何帮助。干杯!
答案 0 :(得分:5)
为避免显示"NaN%"
,您只需检查s
参数isNaN
,并返回空字符串,否则返回数字:
function recalc() {
jQuery("input[class^=percent]").calc("(invoice - cost)/invoice * 100", {
invoice: jQuery("input[class^=invoice]"),
cost: jQuery("input[class^=cost]")
},
function(s) {
// return an empty string if s is NaN
return !isNaN(s) ? s.toFixed(2) + "%" : "";
});
}
答案 1 :(得分:1)
更积极主动的方法可能是防止NaN首先发生。在执行计算之前进行检查可以在出现问题时(之前)提供更好的反馈。也许这对你正在做的事情来说太过分了,但它是防止异常情况的更好的做法。