-2
>>> x = Decimal(1000)
>>> y = Decimal(.005)
>>> x * y
Decimal('5.000000000000000104083408559')

我预计结果只有 5

>>> a = 1000
>>> b = .005
>>> a * b
5.0

以上是我的预期。

====

初衷是为了DecimalField从 Django 中分出一个。我应该将Decimal值转换为float吗?让我期待准确的结果?

4

1 回答 1

1

将其作为字符串传递:

>>> x = Decimal(1000)
>>> y = Decimal(".005")
>>> x * y
Decimal('5.000')

问题是将一些浮点数转换为十进制。以字符串开头不会是问题。


至于您的问题:您应该对 aDecimal进行操作以使其准确。

于 2022-01-07T09:56:20.310 回答