我计算领域在我看来,文件如果我乘以2浮点数,结果会不同,然后乘以2位小数?
data_dict = { 'quantity_order': float(bom.quantity) * float(quantity)}
我加浮充转换,因为我得到一个不同的问题:
“不能按类型十进制的”非INT繁衍序列””
在模型两个字段被定义为十进制
quantity_order = models.DecimalField(max_digits=19, decimal_places=3)
字段
一个通过URL正则表达式
url(r'^production/order/new/(?P<pk_bom>\d+)/(?P<pk_soproduct>\d+)/(?P<uri>\S+)/(?P<quantity>\d+(\.\d{1,3}))/$',views.Production_order_new, name="production_order_new"),
收到所以,问题是,有时计算是不正确的。 例如如果两个量值是44
然后它被正确地计算出,但是,当一个值是44 * 666
结果将是443556.000
它可以是转换值浮动乘法引起该错误之前?
转换为浮动不会产生错误的结果类似。当数字很小并且没有分数时,浮点数与小数点一样好。 – Barmar
'443556'为'666 * 666'。 – Barmar