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

Pra*_*eep 3 python python-2.7

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

K D*_*awG 15

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

>>>int(5.1)
5
Run Code Online (Sandbox Code Playgroud)

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

>>>5.1 - int(5.1)
0.1
Run Code Online (Sandbox Code Playgroud)

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

>>> 5.1 % 1
0.09999999999999964 #use the round() function if you want 0.1
Run Code Online (Sandbox Code Playgroud)

  • `%` 解决方案不适用于负数(`-5.1 % 1 == 0.9000000000000004`)。 (2认同)

Eri*_*ric 5

对你来说,5.11不是一个浮点数。如果是,那么这将意味着 5.11 英尺,即 61.32 英寸。

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

raw = raw_input("Enter feet'inches")
feet, inches = map(int, raw.split("'", 1))
Run Code Online (Sandbox Code Playgroud)