자바스크립트 초초초기초 연산 질문입니다.
본문
<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
부동소수점 연산경우
IEEE 754 방식 때문이라고 하는군요.
<script>
alert(parseFloat(1.1 + 2.2).toFixed(1) );
</script>
ㅎㅎㅎ 그러네요
1.1+1.1
이나 2.2+2.2 해도 잘 나와요
1.1+2.2. 만 그러네요..
0.1+0.2
1.1+1.2
등등
소수점에서 0.1과 0.2를 더할때 발생하는 것 같아요.
답변을 작성하시기 전에 로그인 해주세요.