当使用 a 的Avg
聚合时models.DecimalField
,返回值是 a float
,而不是 a decimal.Decimal
。这是因为我的特定数据库(在本例中为 sqlite3)不支持聚合值作为小数吗?如果是这样,是否有数据库可以做到这一点?有没有办法解决这个问题(即,一种将值作为小数返回的方法),以便可以完成准确的十进制数学运算(同样,无需将 a 转换float
为 a str
,然后再转换为 a decimal.Decimal
)?
注意:我不是在与那些相信“足够准确”与“准确”相同的人打架,也不是为了讨论星舰企业号因错误的、基于浮点数的算法而坠毁的问题。