Функція modf() math, стандартний модуль для математичних функцій у Python, може використовуватися для одночасного отримання цілої та десяткової частин числа.
Дивіться наступну статтю про divmod(), який одночасно отримує частку та залишок від ділення.
Отримати цілі та десяткові частини без математичного модуля
Застосування int() до типу float з плаваючою комою дає ціле значення зі скороченою десятковою комою. Це можна використовувати, щоб отримати цілу та десяткову частину.
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()