1. ホーム
  2. django

[解決済み] Django: 通貨のフィールドは FloatField か DecimalField か?

2023-02-24 20:06:08

質問

通貨フィールドとして、どちらが適しているのか気になります。私は、新旧の価格の差やパーセンテージを取るような簡単な操作を行う予定です。私はゼロの後に2桁の数字を残すことを計画しています(例えば10.50)、これらの桁がゼロである場合、私はこれらの数字を隠して、quot;10"として表示する予定です。

ps: 通貨はドルベースではありません :)

どのように解決するのですか?

常に DecimalField を使用してください。単純な演算 (加算、減算) でさえ、浮動小数点数の丸め誤差の問題を免れることはできません。

>>> 10.50 - 0.20
10.300000000000001

>>> Decimal('10.50') - Decimal('0.20')
Decimal('10.30')