본문 바로가기
기록/TIL

[TIL] 231107 - 데브코스 23일차

by 투말치 2023. 11. 7.

목차

    반응형

    새로 알게 된 것

    현재 프로젝트 기간이라서 프로젝트 개발 중 위도, 경도에 대한 모델을 생성할 때 어떤 필드를 사용할까 찾아보다가

    Decimal에 대해서 알게 되었다.

    소수점 데이터에 대해서 보통은 float을 많이 사용한다. float과 decimal의 차이를 알아보자.

     

    Float

    : 이진 부동 소수점 형식을 사용해서 부동 소수점 오차가 발생할 수 있다.

     

    Decimal

    : 십진 부동 소수점 형식을 사용해 정확성을 유지한다.

     

    아래 예시를 통해 둘의 차이를 알 수 있다.

    from decimal import *
    
    a = Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')
    b = 0.1 + 0.1 + 0.1 - 0.3
    print("Decimal : ", a)
    print("Float : ", b)

     

    출력 결과

    Decimal : 0.0
    Float : 5.551115123125783e-17

     

    decimal을 사용하면 정확한 결과를 얻지만 float을 사용하면 오차가 발생하는 것을 볼 수 있다.

     

    그래서 정확성을 위해 DecimalField를 사용하려고 한다.

     

     

     

     

    zappa 설치 과정에서 발생한 kappa 인코딩 문제를 아래 방법으로 해결했다.

    https://github.com/cmg1411/blog_app/issues/3

     

    zappa 설치시 kappa 인코딩문제 · Issue #3 · cmg1411/blog_app

    한글로 인코딩시 오류

    github.com

     

    반응형

    '기록 > TIL' 카테고리의 다른 글

    [TIL] 231109 - 데브코스 25일차  (0) 2023.11.09
    [TIL] 231108 - 데브코스 24일차  (0) 2023.11.08
    [TIL] 231102 - 데브코스 18일차  (0) 2023.11.02
    [TIL] 231101 - 데브코스 17일차  (1) 2023.11.01
    [TIL] 231031 - 데브코스 16일차  (0) 2023.10.31