Возможно, что свидетельствует о его репутации мощного и гибкого языка программирования, Python содержит множество внутренних библиотек для автоматизации общих или сложных вычислительных и математических задач. «Математическая библиотека» содержит множество методов для выполнения типичных вычислений или операций, таких как округление. Однако десятичные дроби округляются в Python не до целого числа, а до целого десятичного числа. Преобразование в целые числа требует использования математической библиотеки Python наряду с использованием некоторых встроенных библиотек преобразования.
Python и округление
Математическая библиотека Python предлагает пакет методов, полезных для округления десятичных чисел до целых. Вы можете округлить число традиционным способом (до ближайшего целого числа для дробных частей с 0,4 или меньше, и вверх для частей 0,5 и больше), используя метод «round ()». В следующем примере показано, как округлять десятичные числа с помощью метода round:
Видео дня
f = 5.455 >>> round (f) 5.0 >>> round (f, 2) // округление до 2 десятичных знаков 5.46
Методы потолка и пола
Как часть математической библиотеки, методы floor () и ceil () предоставляют уникальный способ округления десятичных знаков, который может оказаться полезным в определенных вычислениях. Метод пола округляет до наименьшего ближайшего целого числа в сторону отрицательной бесконечности (независимо от десятичное значение), а метод потолка будет округлен до ближайшего целого числа в сторону положительного бесконечность. В следующем примере показано, как работают две функции:
import math >>> f = 3.5 >>> g = -3.5 >>> floor (f) 3.0 >>> ceil (3.5) 4.0 >>> floor (g) -4.0 >>> ceil (g) -3.0
Округление и целые числа
Проиллюстрированные операции округления показывают, как работают эти функции, но они также демонстрируют побочный эффект: в версиях Python до 3.0 округленные десятичные дроби округляются не до целых, а до десятичных. Из-за того, как десятичные дроби представлены компьютерной архитектурой, это может вызвать проблемы при высокоточных вычислениях, когда программистам могут потребоваться целые числа. Вы можете преобразовать плавающее число в целое с помощью метода int (), как в этом примере:
f = 3,5 >>> раунд (е) 4,0 >>> int (раунд (е)) 4
Пример метода
Используя эти знания, вы можете легко разработать метод округления десятичных дробей до целых чисел. В следующих примерах показаны краткие примеры методов, которые определяют нижний и верхний предел числа как целое число, и другого метода, который округляет до назначенного пользователем десятичного знака (или целого числа):
import math >>> def integerFloor (x):. .. return int (floor (x)) >>> def integerCeiling (x):. .. return int (ceil (x)) >>> def rounding (x, dec):. .. если dec == 0:. .. вернуть int (round (x))... еще:... возврат (раунд (x, dec))