【问题标题】:JavaScript numeric compare function - comparison vs subtractionJavaScript 数字比较函数 - 比较与减法
【发布时间】:2015-08-12 09:03:44
【问题描述】:

当您尝试在 Java 中使用减法比较数字时,可能会出现整数溢出。见Q: Java Integer compareTo() - why use comparison vs. subtraction?

但是,与 Java 不同的是,JavaScript handles overflows and underflows

问题是compareNumeric() 的以下实现是否在 JavaScript 中正常工作?

// compareNumeric() one-liner
function compareNumeric(a, b) {
    return a - b;
}

编辑。compareNumeric 函数应该返回

  • a
  • 0 当 a = b;
  • a > b 时为正值。

ab 是数字。

【问题讨论】:

  • 请定义“正确”。或者至少是你期望它做的。否则我们只能告诉你这个函数做了你说它应该做的事情。
  • @Bergi,我已经更新了我的问题。
  • 嗯,还有什么不确定性呢?

标签: javascript comparison integer-overflow


【解决方案1】:

compareNumeric() 的以下实现在 JavaScript 中是否按预期工作?

是的。正如您已经知道的那样,javascript 中没有整数溢出或下溢(因为所有数值都是浮点数)。如果您的值变得太大或太小,您最终会得到Infinity-Infinity,它们分别是正数和负数。

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2014-04-23
    • 2011-08-02
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    相关资源
    最近更新 更多