Функція round() повертає число з плаваючою крапкою, округлене до вказаної кількості десяткових знаків після крапки. Наприклад:
|
1 2 3 4 5 |
number = 13.46 # Округлюємо 13.46 до найближчого цілого числа rounded_number = round(number) print(rounded_number) |
Результат:
13
Синтаксис функції round()
|
1 |
round(number, ndigits) |
Параметри функції round()
Функція round() приймає два параметри:
number — число, яке потрібно округлити;
ndigits (не обов’язково) — кількість цифр після десяткової точки. За замовчуванням використовується 0.
Значення, яке повертає функція round()
Функція round() повертає:
найближче ціле число до заданого числа, якщо не вказано параметр ndigits;
число, округлене до ndigits, якщо вказано параметр ndigits.
Приклад №1: Як працює функція round() в Python?
|
1 2 3 4 5 6 7 8 |
# З цілим числом print(round(10)) # З числом с плаваючою крапкою print(round(10.7)) # Пара print(round(5.5)) |
Результат:
10
11
6
Приклад №2: Округлення числа до заданої кількості цифр після десяткової крапки
|
1 2 |
print(round(2.665, 2)) print(round(2.675, 2)) |
Результат:
2.67
2.67
Примітка: Поведінка функції round() з числами з плаваючою крапкою може здивувати. Зверніть увагу, що round(2.675, 2) дає число 2.67 замість очікуваного 2.68. Це не помилка: це результат того, що більшість десяткових дробів неможливо представити точно як число з плаваючою крапкою.
Коли десяткове число 2.675 конвертується у двійкове число з плаваючою крапкою, воно знову замінюється двійковим приближенням, точним значенням якого є:
2.67499999999999982236431605997495353221893310546875
У зв’язку з цим воно округляється до 2.67.
Якщо необхідна висока точність, слід використовувати модуль decimal, який призначений для виконання арифметичних операцій над числами з плаваючою крапкою:
|
1 2 3 4 5 6 7 8 9 |
from decimal import Decimal # Звичайне число з плаваючою крапкою num = 2.675 print(round(num, 2)) # Використання функції Decimal() num = Decimal('2.675') print(round(num, 2)) |
Результат:
2.67
2.68

(9 оцінок, середня: 4,44 з 5)