将数字分成整数和小数部分

123 投票
9 回答
217377 浏览
提问于 2025-04-16 21:26

有没有一种简单的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)

撰写回答