将数字分成整数和小数部分
有没有一种简单的Python方法,可以把一个数字,比如1234.5678
,分成两部分(1234, 0.5678)
,也就是整数部分和小数部分?
9 个回答
64
>>> a = 147.234
>>> a % 1
0.23400000000000887
>>> a // 1
147.0
>>>
如果你想要整数部分是整数类型,而不是浮点数类型,可以用 int(a//1)
这个方法。要一次性得到一个包含整数部分和小数部分的元组,可以用 (int(a//1), a%1)
。
补充说明:要记住,浮点数的小数部分是近似值,所以如果你想像人类那样表示它,就需要使用 decimal库。
81
我们可以使用一个不太知名的内置函数;divmod:
>>> s = 1234.5678
>>> i, d = divmod(s, 1)
>>> i
1234.0
>>> d
0.5678000000000338
184
使用 math.modf
:
import math
x = 1234.5678
math.modf(x) # (0.5678000000000338, 1234.0)