为什么模数在python中不能使用小数?

时间:2016-02-26 21:25:55

标签: python module decimal

在PYTHON(3.4.3)中: 为什么x下面的代码是3.5 ...而y是100.不应该是0。

weight = 356
weight2 = 3.56
x = weight%weight2
y = weight/weight2
print(x)
print(y)

但是在这段代码中,x按预期运行= 0:

weight = 35600
weight2 = 356
x = weight%weight2
y = weight/weight2
print(x)
print(y)

如果您有任何解释,请回答并提供解决方法,如果您有! :)

1 个答案:

答案 0 :(得分:0)

这是因为浮点运算不精确。 decimal模块显示了真实的'您认为的价值是3.56:

In[202]  decimal.Decimal(3.56)
Out[202]: Decimal('3.560000000000000053290705182007513940334320068359375')

因此出现了很多舍入问题。