2014-10-28 2 views
14

, 나는 식을 평가하고 있습니다 : 놀랍게도왜 JavaScript에서 Number.MIN_VALUE보다 0이 작습니까? Node.js를 사용

0 < Number.MIN_VALUE 

,이 true를 반환합니다. 왜 그런가요? 그리고 : 비교가 예상대로 작동하는 가장 작은 번호를 어떻게 얻을 수 있습니까?

+2

'Number.MIN_SAFE_INTEGER' –

+0

@Vohuman : 모든 음수보다 0이 아닙니다. – dandavis

+0

'Number.MIN_SAFE_INTEGER'는 Node.js 0.10.x에서'undefined'입니다. –

답변

24

Number.MIN_VALUE5e-324입니다. 즉, 플로트 정밀도 내에서 표현할 수있는 최소 양수입니다. 즉, 0에 가까울 정도로 가깝습니다. 최고의 해상도 부동 소수점을 정의합니다.

이제 전체적인 가장 작은 값은 Number.NEGATIVE_INFINITY이지만 엄격한 의미에서는 숫자가 아닙니다.

0 > -Number.MAX_VALUE 반환 true :

+1

실용적인 대안을 지적 * 및 * 설명해 주셔서 감사합니다 –

+0

내 코드가 잘못된 이유를 알아 내기 위해 실제로 이것을 조사해야만한다고 믿을 수 없습니다. 맹세코, 자바 스크립트, 가끔은 ... – Felipe

1

Number.MIN_VALUE = 5e-324 = 5 x 10^-324 이상이며 보다 큰보다 작습니다. 0 (조금 더 큽니다).
자세히 알아보기 here.

+0

'Number.MIN_SAFE_INTEGER'는 Node.js 0.10.x에서'undefined'입니다. –

+0

방금 ​​내 대답 업데이트 .. –

1

Number.MIN_VALUE은 5E-324, 비교하는 대신 Number.MIN_VALUE의 사용 -Number.MAX_VALUE 0보다 큰

0

입니다 동일합니다.

관련 문제