14

可能か知りたいのですが?

仮定しましょう:

var a = 2592;
var b = 2584;
if(a nearly equal to b) {
// do something
}
4

5 に答える 5

24

そのようです。

var diff = Math.abs( a - b );

if( diff > 50 ) {
    console.log('diff greater than 50');
}

絶対差が50使用Math.absと単純な比較よりも大きい場合、それは比較されます。

于 2013-01-29T11:45:52.473 に答える
16

これが古い学校の方法です...

approxeq = function(v1, v2, epsilon) {
  if (epsilon == null) {
    epsilon = 0.001;
  }
  return Math.abs(v1 - v2) < epsilon;
};

それで、

approxeq(5,5.000001)

は真ですが、

approxeq(5,5.1)

は偽です。

ニーズに合わせて明示的にイプシロンのパスを調整できます。通常、1000 分の 1 で、JavaScript の丸めの問題がカバーされます。

于 2014-10-31T17:59:54.543 に答える
2
var ratio = 0;
if ( a > b) {
   ratio = b / a;
}
else {
    ratio = a / b;
}
if (ratio > 0.90) {
    //do something
}
于 2013-01-29T11:51:15.210 に答える