float와 decimal

yun·2023년 8월 30일

Q. python 코드에서 insert하고 select한 값과 DB에서 보이는 값이 다른데...?


9.4로 입력하고 9.4로 select도 되지만 float로 지정한 DB에서는 어쩐지 9.39999... 라는 값으로 조회됨

실제 저장된 값이 9.39999... 라는 뜻

float는 부동소수점이므로 근사치(approximate value)를 저장하며, 정확한 값을 저장/연산하려면 고정소수점 데이터 타입인 decimal을 사용해야 한다고 한다.

물론 금융/이커머스 등 소수점 계산까지 중요하지 않은 경우라면 float(4,2) 등 소수점 아래 자릿수를 지정해주는 것으로 해결할 수 있다.

0개의 댓글