728x90
반응형
Django의 Serializer에서 정의하는, 소수점 값을 사용할 수 있는 필드는 FloatField와 DecimalField가 있다.
결론적으로는 아래 참조에 나와있듯이 해당 필드를 이용해서 계산이 필요한 경우는 DecimalField를 사용하는 것이 좋다.
DecimalField
- str 기반이다. '126.123541231'로 표시된다. coerce_to_string = False로 옵션을 적용하면 decimal 타입으로 표시할 수 있다.
- max_length, decimal_places 옵션을 통해 최대 길이와 소수점 자리수를 지정할 수 있다.
기타 상세한 내용은 참조 링크
ref) 스택오버플로우
https://stackoverflow.com/questions/2569015/django-floatfield-or-decimalfield-for-currency
기반 지식
-> 컴퓨터의 부동소수점 표현 한계 때문이다.
0.5 = 1/2 = 0.1(이진수)
0.75 = 1/2 + 1/4 = 0.11(이진수)
로 표시가 가능하나,
0.1 = 1/2 + 1/16 + ..... 으로 무한 소수점이라 이진수로 표시할 수 없게된다.
prev) 2. 컴퓨터 내부의 언어 체계 - 비트와 실수, 텍스트 표현
위경도 표시 소수점
위도와 경도는 보통 소수 6자리까지 나타내고 소수 13자리까지 나타낼 수 있다.
- 첫 번째 소수점 자리는 최대 11.1km
- 두 번째 소수점 자리는 1.1 km
- 세 번째 소수점 자리는 110m
- 네 번째 소수점 자리는 11m
- 다섯 번째 소수점 자리는 1.1 m
- 여섯 번째 소수점 자리는 0.11 m
나타낸다.
ref) 티스토리 - 코딩기록
728x90
반응형
'Programming-[Backend] > Django' 카테고리의 다른 글
[탐험] Django admin에서 view, template, render 다루기. 비동기 처리 버튼 만들기 (0) | 2022.12.25 |
---|---|
[TIL] django data migration 데이터 마이그레이션 (0) | 2022.12.17 |
[TIL] Django prefetch_related, Prefetch 2depth, 모델 필드 정보 조회 (0) | 2022.12.07 |
[TIL] django.conf settings, 환경 설정 정보 상대 참조하기 (0) | 2022.11.02 |
[TIL] Django ORM values, annotate, Subquery, OuterRef, JSONField, Type Cast 부분 적용 (2) | 2022.09.30 |