为什么 0 小于 JavaScript 中的 Number.MIN_VALUE?

2022-01-17 00:00:00 numbers node.js javascript double

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

Using Node.js, I'm evaluating the expression:

0 < Number.MIN_VALUE

令我惊讶的是,这会返回 true.这是为什么?并且:我怎样才能得到可以按预期进行比较的最小可用数字?

To my surprise, this returns true. Why is that? And: How can I get the smallest number available for which the comparison works as expected?

推荐答案

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

Number.MIN_VALUE is 5e-324, i.e. the smallest positive number that can be represented within float precision, i.e. that's as close as you can get to zero. It defines the best resolution floats give you.

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

Now the overall smallest value is Number.NEGATIVE_INFINITY although that's not really numeric in the strict sense.

相关文章