정산 로직 짜는데 금액 합계가 자꾸 미세하게 틀어집니다. 처음엔 제 로직 문제인 줄 알았는데 콘솔 찍어보니 이런 게 나오더라고요.
>>> 0.1 + 0.2
0.30000000000000004
0.3이 나와야 하는데 뒤에 이상한 게 붙어서 나오네요. 이게 하나짜리면 무시하겠는데 거래가 수만 건 쌓이니까 나중엔 몇십 원씩 어긋나서 회계 쪽에서 계속 클레임이 옵니다.
float가 원래 이런 오차가 있다는 건 어렴풋이 아는데, 그럼 돈은 대체 어떤 타입으로 다뤄야 하나요? 정수로 센트 단위로 저장하라는 사람도 있고 Decimal 쓰라는 사람도 있어서 뭐가 정석인지 모르겠습니다.
실무에서 금액 처리하시는 분들은 보통 어떻게 하시는지, 실제로 쓰는 방식으로 조언 부탁드립니다.