Как преобразовать число с плавающей запятой (Float) в целое (Int) в Python
В этом уроке вы узнаете, как преобразовать число с плавающей запятой (Float) в целое число (Int) в Python.
Предположим, у вас есть число с плавающей запятой, например 20,3, и вы хотите преобразовать его в целое число. Когда вы преобразуете число с плавающей запятой в целое число, вы потеряете данные. Например, 20,3 может стать 20 или 21.
Python предоставляет вам некоторые функции в математическом модуле для преобразования чисел с плавающей запятой в целые, в том числе:
- trunc(x)
- floor(x)
- ceil(x)
Truncation
Функция trunc(x) возвращает целую часть числа x. Она игнорирует все после десятичной точки. Например:
from math import trunc print(trunc(12.2)) print(trunc(12.5)) print(trunc(12.7))
Выход:
12 12 12
Аналогично, конструктор int() принимает число с плавающей запятой и использует усечение для приведения числа с плавающей запятой к int:
print(int(12.2)) print(int(12.5)) print(int(12.7))
Floor
Функция Floor(x) возвращает наибольшее из целых чисел, меньшее или равное x. Например:
from math import floor print(floor(12.2)) print(floor(12.5)) print(floor(12.7))
Выход:
12 12 12
Ниже показано, как функция Floor() применяется к положительному числу:
Для положительных чисел Floor(x) и trunc(x) возвращают один и тот же результат. Однако это не относится к отрицательным числам. Например:
На следующем рисунке показано, как функция Floor() применяется к отрицательному числу:
from math import floor, trunc print(floor(-12.7)) print(trunc(-12.7))
Выход:
-13 -12
На следующем рисунке показана разница между функциями Floor() и trunc(), когда вы применяете их к отрицательному числу:
Ceiling
Функция ceil(x) возвращает наименьшее целое число, большее или равное x. Например:
from math import ceil print(ceil(12.7))
Выход:
13
Ниже показано, как функция ceil() применяется к положительному числу:
В этом примере используется функция ceil() для отрицательных чисел:
from math import ceil print(ceil(-12.7))
Выход:
-12
Ниже показано, как функция ceil() применяется к отрицательному числу: