想要在python中分离float数的整数部分和小数部分

时间:2013-12-18 09:27:04

标签: python python-2.7

我正在努力将脚的值转换为1英尺= 12英寸的英寸。我用英寸来计算人的身高。恩。 5.11身高5英尺11英寸的人意味着总共71英寸。在Python中是否有任何方法,所以我可以分离int部分和&浮动部分的浮点数用于进一步计算?欢迎任何建议。

3 个答案:

答案 0 :(得分:12)

要获取float的整数部分,请使用内置的int()函数:

>>>int(5.1)
5

要分隔float部分,用整数减去float:

>>>5.1 - int(5.1)
0.1

或者你可以用1获得浮点数的模数(浮动部分)

>>> 5.1 % 1
0.09999999999999964 #use the round() function if you want 0.1

答案 1 :(得分:2)

对你而言,5.11 不是浮动。如果是,则意味着5.11英尺,即61.32英寸。

5.11 是一个字符串,包含两个数据和一个分隔符 - 将其解析为一个!如果您将分隔符更改为更传统的'(即5'11),很明显它不是一个浮点数:

raw = raw_input("Enter feet'inches")
feet, inches = map(int, raw.split("'", 1))

答案 2 :(得分:1)

另一种方法是使用divmod(函数或运算符),使用数字1作为分母(除数):

>>> divmod(5.11, 1)
(5.0, 0.11000000000000032)

>>> 5.11.__divmod__(1.)
(5.0, 0.11000000000000032)