Функція round () повертає число з плаваючою комою, округлене до вказаної кількості десяткових знаків.
Синтаксис round()
функції:
круглі (число, цифри)
параметри round ()
round()
Функція приймає два параметри:
- число - число, яке потрібно округлити
- ndigits (необов’язково) - число, до якого дане число округляється; за замовчуванням 0
Повернене значення з раунду ()
- Якщо
ndigits
не вказано,round()
повертає найближче ціле число до заданого числа. - Якщо
ndigits
вказано,round()
повертає число, округлене доndigits
цифр.
Приклад 1: Як Round () працює в Python?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Вихідні дані
10 11 6
Приклад 2: Округліть число до заданої кількості знаків після коми
print(round(2.665, 2)) print(round(2.675, 2))
Вихідні дані
2,67 2,67
Примітка : Поведінка round()
for floats може бути дивною. Повідомлення round(2.675, 2)
дає 2.67
замість очікуваного 2.68
. Це не помилка: це результат того, що більшість десяткових дробів неможливо представити точно як плаваюче число.
Коли десяткове число 2.675
перетворюється в двійкове число з плаваючою комою, воно знову замінюється двійковим наближенням, точне значення якого:
2.67499999999999982236431605997495353221893310546875
Завдяки цьому його округлюють до 2,67.
Якщо ви потрапили в ситуацію, коли потрібна ця точність, подумайте про використання decimal
модуля, призначеного для арифметики з плаваючою точкою:
from decimal import Decimal # normal float num = 2.675 print(round(num, 2)) # using decimal.Decimal (passed float as string for precision) num = Decimal('2.675') print(round(num, 2))
Вихідні дані
2,67 2,68