Django: FloatField или DecimalField за валюту?

Мне любопытно, какой лучше соответствовал бы как поле валюты? Я сделаю простые операции, такие как взятие различия, процента между старыми и новыми ценами. Я планирую сохранить две цифры после нуля (т.е. 10.50) и большинство времени, если эти цифры будут нулем, то я буду скрывать эти числа и отображать его как "10"

PS: Валюта НЕ является базирующимся долларом :)

65
задан Seth 14 March 2012 в 18:45
поделиться

1 ответ

Всегда используйте DecimalField для денег. Даже простые операции (сложение, вычитание) не застрахованы от проблем с округлением плавающих значений:

>>> 10.50 - 0.20
10.300000000000001

>>> Decimal('10.50') - Decimal('0.20')
Decimal('10.30')
113
ответ дан 24 November 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: