2014-11-10 4 views
0

3.3을 반환하는 대신 3 * 1.1에 JavaScript를 곱하면 3.30000000000000003이됩니다. 왜입니까?3을 1.1로 곱하면 이상한 결과가 발생합니다.

+1

[관련 항목] (http://www.smbc-comics.com/index.php?db=comics&id=2999#comic) – NicoSantangelo

+4

스택 오버플로에 오신 것을 환영합니다! 현재 영어 만 지원하므로 문의 사항이 있으시면 친절하게 답변 해주시겠습니까? – Kroltan

+1

js가 부동 소수점 값으로 부동 소수점 값을 저장하고 부동 소수점 연산이 항상 100 % 정확하지는 않기 때문입니다. 예를 들어 0.2 + 0.1은 자바 스크립트에서 0.3을주지 않지만 0.30000000000000004 – Markai

답변

1

컴퓨터의 숫자가 정확도가 제한적인 floating point numbers으로 표시 되었기 때문입니다. 어떤 작업은 작은 오류를 일으키며 그것에 대해 할 수있는 일이 없습니다.

==을 사용하여 숫자를 비교하지 않는 이유이기도합니다.

+0

스페인어로 번역 해 주셔서 감사합니다 @cpacheco. – Kroltan

관련 문제