我使用以下javascript代码显示两个值之间的百分比差异。
A = 11192;
B = 10474;
percDiff = (vars.A - vars.B) / vars.B * 100;
给出:6.855069696391064
然后
if (percDiff > 20) {
//dosomething
} else {
//dosomething
}
问题是:
如果值B高于值A,那么我得到一个NaN,例如;
我如何克服这个问题?我考虑过使用Math.abs()
有什么建议吗?
答案 0 :(得分:1)
我认为您可以使用此公式来确定2个值之间的相对差异(百分比):
var percDiff = 100 * Math.abs( (A - B) / ( (A+B)/2 ) );
这是一种实用方法:
function relDiff(a, b) {
return 100 * Math.abs( ( a - b ) / ( (a+b)/2 ) );
}
// example
relDiff(11240, 11192); //=> 0.42796005706134094