Python模数问题

时间:2017-10-06 22:05:39

标签: python python-3.x

def height(cent):
    height= {}
    height["feet"]= int(cent/30.48)
    height["inch"]= int(cent%30.48)/2.54
    print (height)
height (182.88)
print (182.88/30.48)
print (182.88%30.48)

输出是: {'inch':11,'feet':6}

6.0

30.479999999999993

为什么182.88%30.48不等于零?

1 个答案:

答案 0 :(得分:1)

因为30.48的值实际上是30.4799 ..这是因为floating point numbers存储在python中的方式。因此,当您将30.479999除以182.88时,得到的舍入整数为5(即182.88 // 30.48 == 5)。剩下的就是30.47999 ......