如何比较数字加上或减去另一个数字

nop*_*ope 2 javascript jquery boolean-logic compare getjson

假设我有两个名为value1和value2的变量.这些值将由用户输入,但我们只是假装它们已经存在并且这些值是值

    var value1 = 5;
    var value2 = 7; 
    var comparison = .785  
Run Code Online (Sandbox Code Playgroud)

我只是想比较值加上或减去比较,所以当代码显示输出时,它只显示5 +或 - .785和7 +或减去.785的值.

对于某些上下文,以下代码是来自json对象的拉取信息,该对象具有两个单独的数字列表,可以说number1和number2以及大量其他信息,但不要担心任何这些,一切正常

       $("#createlist").click(function() {
            var value1 = Number($("#value1").val());
            var value2 = Number($("#value2").val());    
            var comparison = .785

            $.getJSON("get_divvy_data.php", null, function(data) {
                var total_bikes_available = 0;
                $("#stationtable .stationrow").remove();
                $.each(data.stationBeanList, function(index, station) {
Run Code Online (Sandbox Code Playgroud)

下一部分是我遇到问题的地方.

                  if( station.number1 is <= value1 + - comparison && station.number2 is <= value2 + - comparison) {
                       //do something
                   }
Run Code Online (Sandbox Code Playgroud)

我只是不知道如何有效地编写if语句和比较.

rai*_*7ow 7

一种可能的方法:

if (Math.abs(value1 - station.number1) <= comparison
    && Math.abs(value2 - station.number2) <= comparison) {
   //...    
}
Run Code Online (Sandbox Code Playgroud)

...但要注意由浮点数学缺陷引起的可能的边缘情况.例如:

var value     = 0.9;
var reference = 0.7;
var delta     = 0.2;
console.log(value - reference <= delta); // false
Run Code Online (Sandbox Code Playgroud)