为什么在JavaScript中小于Number.MIN_VALUE?

Gol*_*den 23 javascript double numbers node.js

使用Node.js,我正在评估表达式:

0 < Number.MIN_VALUE
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,这回归true.这是为什么?并且:我如何获得比较可用的最小数量?

bac*_*dos 36

Number.MIN_VALUE5e-324,即可以在浮点精度内表示的最小正数,即尽可能接近零.它定义了浮点数给你的最佳分辨率.

现在总体上最小的值Number.NEGATIVE_INFINITY虽然严格意义上并不是真正的数字.

  • 感谢您解释该行为*并*指出了一个可行的替代方案:-) (2认同)
  • 我真不敢相信我实际上必须查一下这个代码,以找出我的代码为什么错误。我发誓,javascript,有时... (2认同)
  • 我会说“Number.NEGATIVE_INFINITY”是*最小*值(从某种意义上说,没有其他值可以更小),但不是*最小*。“小”一词意味着较小的数量,即接近于 0 的值,而“大”则意味着远离零的值(-1000 比 10“更大”)。所以从这个意义上说,“-Infinity”相当大,即使它是负数。 (2认同)

Muk*_*mar 6

Number.MIN_VALUE相当于 5e-324 ,它大于 0。

  • 这是真实的。我认为让人失望的是负指数“-324”。我教过那些认为“3 ** -2 === -9”的高中生。 (2认同)