Якщо ти починаєш свій шлях у програмуванні та стикаєшся з дробовими числами, то напевно ставиш собі питання, як правильно округляти числа. Ця тема вкрай важлива, адже від неї залежить точність розрахунків – від фінансових до статистичних. У Пайтоні існує кілька способів, і кожен із них має свої особливості. У цій статті ми розберемо найпопулярніші з них.
А якщо ти хочеш освоїти Python «з нуля», зверни увагу на актуальний курс GoIT, де ти отримаєш усі необхідні знання для старту в IT!
int() і round(): базові методи для округлення чисел
Найпростіший спосіб, який спадає на думку – це використовувати int Пайтон. Ця вбудована функція просто відкидає дробову частину числа, не замислюючись про правила математичного округлення.
x = 5.9
print(int(x)) # Виведе 5
Як бачиш, int Python це «грубий» спосіб, який не враховує математичні правила. Тому він не завжди підходить для точних розрахунків.
Для цього існує вбудована функція round Python. Вона округляє число до найближчого цілого, а якщо дробова частина дорівнює 0.5, то округляє до найближчого парного числа. Це так зване «банківське» округлення. round python3 використовує саме такий метод.
# Округлення до найближчого парного
print(round(2.5)) # Виведе 2
print(round(3.5)) # Виведе 4
# Округлення до цілого
print(round(5.7)) # Виведе 6
Ти також можеш вказати кількість знаків після коми. Наприклад, щоб округлити до десятих, використовуй другий аргумент.
x = 3.14159
print(round(x, 1)) # Виведе 3.1
print(round(x, 2)) # Виведе 3.14
print(round(x, 3)) # Виведе 3.142
Як бачиш, Python округлення до сотих або округлення до тисячних – це зовсім не проблема. Усі ці операції виконуються за стандартними правилами. Також за допомогою round() можна скоротити число до потрібної кількості знаків.
Модуль math: точний контроль над округленням
Якщо тобі потрібен повний контроль, то варто підключити модуль math. Напевно у тебе в голові вже виникло питання: import math Python що це? Це команда, яка підключає вбудовану бібліотеку з додатковими математичними функціями.
Щоб округлити в більшу сторону Python, використовуй функцію math.ceil(). Її назва походить від англійського слова «ceiling», що буквально перекладається як «стеля».
import math
# Практичний кейс: розрахувати кількість упаковок, щоб вистачило на всі 10.2 кг продукту
total_weight = 10.2
package_size = 1
packages_needed = math.ceil(total_weight / package_size)
print(f”Потрібно упаковок: {packages_needed}”) # Виведе “Потрібно упаковок: 11”

Якщо ж тобі потрібне округлення в меншу сторону Python, то використовуй math.floor() – від слова «floor» з англійської, що перекладається як «підлога».
import math
# Практичний кейс: розрахувати, скільки повних пачок чаю по 500 грамів можна зробити з 2.7 кг чаю
tea_kg = 2.7
package_kg = 0.5
packages_made = math.floor(tea_kg / package_kg)
print(f”Вийде повних пачок: {packages_made}”) # Виведе “Вийде повних пачок: 5”
Також є функція Python trunc, яка працює як int() – просто відкидає дробову частину.
import math
print(math.trunc(4.9)) # Виведе 4
print(math.trunc(-4.9)) # Виведе -4
Практичні поради та лайфхаки
Знак округлення в Python залежить від обраної функції. Пам’ятай, що int() і math.trunc() завжди «рубають» дробову частину, а round(), ceil() і floor() працюють за різними правилами. Ще один корисний лайфхак – це форматований вивід за допомогою f-string. Це дозволяє округлити число Python при виводі, не змінюючи саму змінну.
pi = 3.14159265
print(f’Число pi з точністю до двох знаків: {pi:.2f}’) # Виведе 3.14
До речі, якщо тобі потрібні точні фінансові розрахунки, краще використовувати модуль decimal. Він допомагає уникнути неточностей, властивих числам із плавучою комою (float).
Також варто згадати, що ділення в Пайтоні (/) завжди дає float, а ділення без остачі Python (//) – ціле число.
Популярні питання про округлення в Пайтон
Тут відповімо на найпопулярніші питання, які виникають у новачків.
Як у Пайтоні округлити число до десятих?
Використовуй функцію round() із другим аргументом: round(12.345, 1) -> 12.3.
Чим відрізняється округлення в Пайтоні від int()?
round()
округляє за математичними правилами, а int() просто відкидає дробову частину.
Як округлити в більшу сторону Python?
Для цього використовуй math.ceil(). Наприклад, math.ceil(7.2) -> 8.
Що таке Python math floor?
Це функція з модуля math, яка округляє число до меншого цілого. math.floor(7.9) -> 7.
Що таке Python round down?
Це не офіційна функція, але зазвичай під цим мають на увазі округлення в меншу сторону Пайтон, тобто math.floor().
Наголосимо, що головне – це практика. Щоб навчитися писати правильний код, потрібно багато практикуватись. На курсах Пайтон від GoIT ти зможеш отримати всі необхідні знання та навички!