채택완료

자바스크립트 초초초기초 연산 질문입니다.

2017-07-07 (금) 09:54:57 2,302
Copy
<script>alert(1.1+2.2);</script>

이 경고창을 실행하면 연산값이 3.3이 나오지 않고

3.3000000000000003

이라는 값이 나오는데 요건 왜 이러는걸까요 ㅎ

어제 스터디를 하는데 1.1+1.1=2.2

2.2+3.3=5.5 등등

정상적으로 연산값이 나오는데 희한하게 1.1과 2.2를 더하면 저 이상한 값이 나오네요.

그닥 중요하진 않지만 격하게 궁금해서 여쭤봅니다. :D

답변 3개 / 댓글 1개

채택된 답변
+20 포인트
2017-07-07 (금) 10:10:04

부동소수점 연산경우

 IEEE 754 방식 때문이라고 하는군요.

<script>
alert(parseFloat(1.1 + 2.2).toFixed(1) );
</script>
 

답변에 대한 댓글 1개

고맙습니다. 아직 뭔소린진 모르겠지만 나중에 공부 하다 보면 알게 되겠죠. ^^

0.1+0.2

1.1+1.2

등등

소수점에서 0.1과 0.2를 더할때 발생하는 것 같아요. 

ㅎㅎㅎ 그러네요

1.1+1.1  

이나 2.2+2.2 해도 잘 나와요

1.1+2.2. 만 그러네요.. 

답변을 작성하려면 로그인이 필요합니다.