Javascript:两个值之间的百分比差异

时间:2014-05-20 12:24:46

标签: javascript

我使用以下javascript代码显示两个值之间的百分比差异。

A = 11192;
B = 10474;

percDiff = (vars.A - vars.B) / vars.B * 100;

给出:6.855069696391064

然后

if (percDiff > 20) {
  //dosomething
} else {
  //dosomething
}

问题是:

如果值B高于值A,那么我得到一个NaN,例如; NaN

我如何克服这个问题?我考虑过使用Math.abs()

有什么建议吗?

1 个答案:

答案 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

See also...

JsFiddle