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

时间:2014-04-09 21:46:54

标签: javascript jquery compare getjson boolean-logic

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

    var value1 = 5;
    var value2 = 7; 
    var comparison = .785  

我只想比较值加上或减去比较,所以当代码显示输出时,它只显示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) {

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

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

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

1 个答案:

答案 0 :(得分:7)

一种可能的方法:

if (Math.abs(value1 - station.number1) <= comparison
    && Math.abs(value2 - station.number2) <= comparison) {
   //...    
}

...但要注意浮动数学缺陷导致的边缘情况。例如:

var value     = 0.9;
var reference = 0.7;
var delta     = 0.2;
console.log(value - reference <= delta); // false