자바스크립트 처음 알게된 사실.. > 자유게시판

자유게시판

자바스크립트 처음 알게된 사실.. 정보

자바스크립트 처음 알게된 사실..

본문

3531202398_1641529877.1772.png

 

홈페이지내에 수치계산하는게 있는데 출력이 이상해서 몇가지 테스트 해보니

 

var t1 = 150.7

var t2 = 5.9

일때

t1 - t2 하면 144.8이 아니라 144.79999..8 이 나오네요

 

이유가 궁금해서 쫌 찾아보니

이렇게 나오는 이유는 javascript가 64bit의 소숫점 숫자를 사용하기 때문이라고하네요

이때문에 소수점 계산에서 정밀도 오류가 나타난다고하네요

10진법 기반의 숫자와 다르게 컴퓨터는 2진법으로 동작하기때문이라고 하네요

 

그래서 해결방법은 계산한 결과값에 toFixed()함수를 써서 해결해야합니다

t3 = t1 - t2;

t3.toFixed(1); // 144.8

 

자바스크립트 소수점 계산이 왜 이상한가했더니 저런 이유가있었네요

추천
3

댓글 3개

전체 162 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여75 회 시작24.04.12 12:32 종료24.04.19 12:32
  2. 참여42 회 시작24.04.12 12:32 종료24.04.19 12:32
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT