Funkcia round () vráti číslo s pohyblivou rádovou čiarkou zaokrúhlené na zadaný počet desatinných miest.
Syntax round()
funkcie je:
kolo (počet, číslice)
zaokrúhlené () parametre
round()
Funkcia má dva parametre:
- číslo - číslo, ktoré sa má zaokrúhliť
- n číslice (voliteľné) - číslo, na ktoré sa zaokrúhli dané číslo; predvolená hodnota je 0
Vrátiť hodnotu z kola ()
- Ak
ndigits
nie je uvedené,round()
vráti najbližšie celé číslo k danému číslu. - Ak
ndigits
je zadané,round()
vráti číslo zaokrúhlené nandigits
číslice.
Príklad 1: Ako funguje round () v Pythone?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Výkon
10 11 6
Príklad 2: Zaokrúhli číslo na daný počet desatinných miest
print(round(2.665, 2)) print(round(2.675, 2))
Výkon
2,67 2,67
Poznámka : Správanie sa round()
pre plaváky môže byť prekvapivé. Oznámenie round(2.675, 2)
dáva 2.67
namiesto očakávaného 2.68
. Toto nie je chyba: je to výsledok skutočnosti, že väčšinu desatinných zlomkov nie je možné zobraziť presne ako float.
Keď sa desatinné miesto 2.675
prevedie na binárne číslo s pohyblivou rádovou čiarkou, znova sa nahradí binárnou aproximáciou, ktorej presná hodnota je:
2,67499999999999982236431605997495353221893310546875
Z tohto dôvodu sa zaokrúhľuje na 2,67.
Ak sa nachádzate v situácii, keď je táto presnosť potrebná, zvážte použitie decimal
modulu určeného na aritmetiku s pohyblivou rádovou čiarkou:
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ýkon
2,67 2,68