Funktionen runde () returnerer et flydende nummer afrundet til det angivne antal decimaler.
Funktionens syntaks round()
er:
runde (antal, n-cifre)
runde () parametre
Den round()
funktion tager to parametre:
- nummer - det nummer, der skal afrundes
- n-cifre (valgfrit) - nummer, op til hvilket det givne nummer afrundes; er som standard 0
Returneringsværdi fra runde ()
- Hvis
ndigits
ikke er angivet,round()
returneres det nærmeste heltal til det givne nummer. - Hvis der
ndigits
er givet,round()
returnerer tallet afrundet tilndigits
cifrene.
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))
Produktion
10 11 6
Eksempel 2: Afrund et tal til det givne antal decimaler
print(round(2.665, 2)) print(round(2.675, 2))
Produktion
2,67 2,67
Bemærk : Opførelsen af round()
for floats kan være overraskende. Meddelelse round(2.675, 2)
giver i 2.67
stedet for det forventede 2.68
. Dette er ikke en fejl: det er et resultat af, at de fleste decimalfraktioner ikke kan repræsenteres nøjagtigt som en float.
Når decimalet 2.675
konverteres til et binært flydende nummer, erstattes det igen med en binær tilnærmelse, hvis nøjagtige værdi er:
2.67499999999999982236431605997495353221893310546875
På grund af dette afrundes det til 2,67.
Hvis du er i en situation, hvor denne præcision er nødvendig, kan du overveje at bruge decimal
modulet, der er designet til flydende aritmetik:
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))
Produktion
2,67 2,68