math 的 modf() 函數是 Python 中數學函數的標準模塊,可用於同時獲取數字的整數和小數部分。
有關 divmod() 的信息,請參閱以下文章,它同時獲得除法的商和余數。
在沒有數學模塊的情況下獲取整數和小數部分
將 int() 應用於浮點浮點類型會產生一個整數值,其中小數點被截斷。這可用於獲取整數部分和小數部分。
a = 1.5
i = int(a)
f = a - int(a)
print(i)
print(f)
# 1
# 0.5
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
使用 math.modf() 同時獲取數字的整數和小數部分
數學模塊中的函數 modf() 可用於同時獲取數字的整數部分和小數部分。
math.modf() 返回以下元組 注意順序,因為小數部分在前。
(decimal, integer)
import math
print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>
每個都可以解包並分配給一個單獨的變量,如下所示整數和小數部分都是浮點類型。
f, i = math.modf(1.5)
print(i)
print(f)
# 1.0
# 0.5
print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>
該符號將與整數和小數部分的原始值的符號相同。
f, i = math.modf(-1.5)
print(i)
print(f)
# -1.0
# -0.5
適用於 int 類型。在這種情況下,整數和小數部分都是浮點類型。
f, i = math.modf(100)
print(i)
print(f)
# 100.0
# 0.0
在不獲取小數部分的情況下,可以使用以下方法來檢查浮點類型是否為整數(即小數部分為 0)。請參閱以下文章。
float.is_integer()