A round () függvény lebegőpontos számot ad vissza a megadott tizedesjegyekre kerekítve.
A round()
függvény szintaxisa :
kerek (szám, számjegy)
kör () Paraméterek
A round()
függvénynek két paramétere van:
- szám - a kerekítendő szám
- ndigits (opcionális) - szám, amelyre az adott számot kerekítik; alapértelmezés szerint 0
Visszatérési érték a körből ()
- Ha
ndigits
nincs megadva,round()
akkor a megadott számhoz legközelebbi egész számot adja vissza. - Ha meg
ndigits
van adva,round()
akkor a számot kerekítve adja vissza andigits
számjegyekre.
1. példa: Hogyan működik a () a Pythonban?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Kimenet
10 11 6
2. példa: Kerekítsen egy számot a megadott tizedesjegyig
print(round(2.665, 2)) print(round(2.675, 2))
Kimenet
2,67 2,67
Megjegyzés : Az round()
úszók viselkedése meglepő lehet. Értesítés round(2.675, 2)
ad 2.67
a várt helyett 2.68
. Ez nem hiba: annak a ténynek az eredménye, hogy a legtöbb tizedes tört nem ábrázolható pontosan úszóként.
Amikor a tizedesjegyet 2.675
bináris lebegőpontos számokká konvertáljuk, ismét egy bináris közelítéssel helyettesítjük, amelynek pontos értéke:
2.67499999999999982236431605997495353221893310546875
Emiatt 2,67-re kerekítik.
Ha olyan helyzetben van, ahol erre a pontosságra van szükség, fontolja meg a decimal
lebegőpontos aritmetikához tervezett modul használatát :
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))
Kimenet
2,67 2,68