Funksjonen rund () returnerer et flytende nummer avrundet til det angitte antallet desimaler.
Syntaksen til round()
funksjonen er:
runde (nummer, tall)
runde () parametere
Den round()
funksjonen tar to parametere:
- nummer - tallet som skal avrundes
- n-sifre (valgfritt) - nummer som det gitte nummeret er avrundet til; er som standard 0
Returverdi fra runde ()
- Hvis
ndigits
ikke er oppgitt,round()
returnerer nærmeste heltall til det angitte tallet. - Hvis
ndigits
er gitt,round()
returnerer tallet avrundet tilndigits
sifrene.
Eksempel 1: Hvordan fungerer round () i Python?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Produksjon
10 11 6
Eksempel 2: Rund et tall til det angitte antallet desimaler
print(round(2.665, 2)) print(round(2.675, 2))
Produksjon
2,67 2,67
Merk : Oppførselen til round()
for flottører kan være overraskende. Varsel round(2.675, 2)
gir i 2.67
stedet for forventet 2.68
. Dette er ikke en feil: det er et resultat av at de fleste desimalfraksjoner ikke kan vises som en flottør.
Når desimalet 2.675
konverteres til et binært flytende nummer, erstattes det igjen med en binær tilnærming, hvis eksakte verdi er:
2.67499999999999982236431605997495353221893310546875
På grunn av dette er den avrundet ned til 2,67.
Hvis du er i en situasjon der denne presisjonen er nødvendig, bør du vurdere å bruke decimal
modulen, som er designet for flytende-aritmetikk:
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))
Produksjon
2,67 2,68