Funktio round () palauttaa liukuluvun pyöristettynä määritettyyn desimaalien lukumäärään.
round()
Funktion syntaksi on:
pyöreä (luku, numerot)
pyöreä () Parametrit
round()
Toiminto otetaan kaksi parametria:
- numero - pyöristettävä luku
- ndigits (valinnainen) - numero, johon asti annettu numero pyöristetään; oletuksena 0
Palautusarvo kierrokselta ()
- Jos
ndigits
ei anneta,round()
palauttaa lähimmän kokonaisluvun annettuun lukuun. - Jos
ndigits
annetaan,round()
palauttaa luvun pyöristettynä numeroihinndigits
.
Esimerkki 1: Kuinka pyöreä () toimii Pythonissa?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Tuotos
10 11 6
Esimerkki 2: Pyöristä luku annettuun desimaalilukuun
print(round(2.665, 2)) print(round(2.675, 2))
Tuotos
2,67 2,67
Huomaa : round()
Kellukkeiden käyttäytyminen voi olla yllättävää. Ilmoitus round(2.675, 2)
antaa 2.67
odotetun sijasta 2.68
. Tämä ei ole vika: se johtuu siitä, että useimpia desimaalimurtoja ei voida esittää täsmälleen kellukkeina.
Kun desimaali 2.675
muunnetaan binaariseksi liukuluvuksi, se korvataan taas binäärilaskennalla, jonka tarkka arvo on:
2.67499999999999982236431605997495353221893310546875
Tämän vuoksi se pyöristetään alaspäin arvoon 2,67.
Jos olet tilanteessa, jossa tätä tarkkuutta tarvitaan, harkitse decimal
moduulin käyttöä, joka on suunniteltu liukulukuaritmeettiseksi:
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))
Tuotos
2,67 2,68