【发布时间】:2019-03-08 11:34:35
【问题描述】:
下面描述的问题发生在带有 Django 1.9.4 的 Python3 上
在我的 Django 项目中,为了计算 sale_amount 的折扣,我使用下面的代码行
discount = round((sale_amount - tax_amount ) * discount_rate,2)
以上变量的取值如下
sale_amount,tax_amount, discount_rate = 30.00, 6.75, 0.02000000
从 Django 模型对象中获取的变量值都是相同类型的,即十进制.十进制
根据上述代码行计算的 Django 项目文件中的折扣为0.46
当我使用上述金额和公式计算折扣时,我在 Django 控制台中得到value: 0.47
我无法弄清楚为什么 Django 控制台和项目计算之间存在 0.01 差异。
【问题讨论】:
-
你确定吗? python函数中的round(),无论Django版本如何,我在python3中得到0.47
-
是的,我敢肯定,我得到的结果与你在 python 控制台和 Django 控制台中得到的结果相同(正确的值,即 0.47),但我得到了错误的值(0.46) Django 网络应用程序。
-
如果有模板,请与模板共享代码库
标签: python python-3.x rounding django-1.9