블로그 이미지
소낑
혼자 정리하고 혼자 보는 초보개발자 소끼월드

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Notice

Tag

2018. 1. 15. 13:23 데이터베이스/Mysql

Decimal 과 Float중에 무엇을 사용해야 하는가?


  1. 가격과 같은 애들은 Decimal 사용해라 (오차범위때문)


Decimal: 고정 소수점, 같은 메모리 용량 안에서 Float보다 적은 범위 표시

Float: 부동 소수점, 같은 메모리 용량 안에서 Decimal보다 많은 범위 표시



이유: float의 경우, 연산시 오차가 발생 할 수 있다.

ex) float(2.3 * 100) => 229

  • 컴퓨터는 2진법으로 계산.

  • float는 부동소수점으로 소수점 자릿수를 알 수 없는데, 이럴 경우 컴퓨터 식별 값은 2.12878715412….처럼 유한소수가 아닌 무한소수가 됨

  • 유한소수가 아니기 때문에, 가장 근사치 값을 잡아 계산함

  • 근사치로 계산하기 때문에 계산을 거듭 할 수록 오차가 생길 수 밖에 없는구조



    • 해결하기 위해선 유한소수를 사용해야함

      • Decimal은 고정소수점으로 유한소수이기 때문에 Decimal을 사용


해결



참고

http://hsol.tistory.com/234

http://piook.tistory.com/73

http://bblog.tistory.com/295



'데이터베이스 > Mysql' 카테고리의 다른 글

mysql 테이블 컬럼 정보 조회  (0) 2017.04.14
posted by 소낑