使用Node.js的,我计算表达式:为什么JavaScript中的0小于Number.MIN_VALUE?
0 < Number.MIN_VALUE
令我惊讶的是,这将返回true
。这是为什么?并且:我如何才能获得可用于比较的预计最小数量?
使用Node.js的,我计算表达式:为什么JavaScript中的0小于Number.MIN_VALUE?
0 < Number.MIN_VALUE
令我惊讶的是,这将返回true
。这是为什么?并且:我如何才能获得可用于比较的预计最小数量?
Number.MIN_VALUE
是5e-324
,即可以在浮点精度内表示的最小正数,即,它可以接近于零。它定义了漂浮物给你的最佳分辨率。
现在整体最小值为Number.NEGATIVE_INFINITY
,尽管这在严格意义上并不是真正的数字。
感谢您解释行为*和*指出一个可行的选择:-) – 2014-10-28 17:40:52
我不敢相信我真的不得不看这个了解我的代码为什么错了。我发誓,JavaScript,有时候...... – Felipe 2018-01-17 01:38:13
由于Number.MIN_VALUE = 5e-324 = 5 x 10^-324
和它的更大比0
(稍大一点)。
了解更多here
。
Node.js 0.10.x中的Number.MIN_SAFE_INTEGER是未定义的。 – 2014-10-28 17:38:45
刚刚更新了我的答案.. – 2014-10-28 17:39:41
Number.MIN_VALUE
相当于5E-324,其是大于0
使用-Number.MAX_VALUE
代替Number.MIN_VALUE进行比较:
0 > -Number.MAX_VALUE
返回true
。
'Number.MIN_SAFE_INTEGER' – 2014-10-28 17:32:22
@Vohuman:但不是零大于所有负数? – dandavis 2014-10-28 17:32:30
Node.js 0.10.x中的Number.MIN_SAFE_INTEGER是未定义的。 – 2014-10-28 17:38:02