Python runde ()

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 ndigitsikke er angivet, round()returneres det nærmeste heltal til det givne nummer.
  • Hvis der ndigitser givet, round()returnerer tallet afrundet til ndigitscifrene.

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.67stedet 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.675konverteres 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 decimalmodulet, 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

Interessante artikler...