Funkce round () vrací číslo s plovoucí desetinnou čárkou zaokrouhlené na zadaný počet desetinných míst.
Syntaxe round()
funkce je:
kolo (číslo, číslice)
kulaté () parametry
round()
Funkce má dva parametry:
- číslo - číslo, které má být zaokrouhleno
- n číslice (volitelně) - číslo, na které se zaokrouhlí dané číslo; výchozí hodnota je 0
Vrátit hodnotu z kola ()
- Pokud
ndigits
neníround()
zadáno , vrátí nejbližší celé číslo k danému číslu. - Je-li
ndigits
zadáno,round()
vrátí číslo zaokrouhleno nandigits
číslice.
Příklad 1: Jak Round () funguje v Pythonu?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Výstup
10 11 6
Příklad 2: Zaokrouhlete číslo na daný počet desetinných míst
print(round(2.665, 2)) print(round(2.675, 2))
Výstup
2,67 2,67
Poznámka : Chování round()
plováků může být překvapivé. Oznámení round(2.675, 2)
dává 2.67
místo očekávaného 2.68
. Nejedná se o chybu: je to důsledek skutečnosti, že většinu desetinných zlomků nelze přesně vyjádřit jako float.
Když je desetinné místo 2.675
převedeno na binární číslo s plovoucí desetinnou čárkou, je opět nahrazeno binární aproximací, jejíž přesná hodnota je:
2,67499999999999982236431605997495353221893310546875
Z tohoto důvodu je zaokrouhleno dolů na 2,67.
Pokud jste v situaci, kdy je tato přesnost nutná, zvažte použití decimal
modulu, který je určen pro aritmetiku s plovoucí desetinnou čárkou:
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))
Výstup
2,67 2,68