Python runde til 2 desimaler

Python runde til 2 desimaler
Når du jobber med høye presisjonsverdier, må du ofte runde tall til et bestemt antall desimaler.

La oss diskutere hvordan vi kan oppnå dette i Python.

Python Round -funksjon

Python har en innebygd runde () -funksjon som lar oss avrunde et tall til en bestemt verdi.

Funksjonssyntaks er som vist nedenfor:

runde (nummer, ndigits)

Funksjonen godtar to parametere som:

  1. Antall - refererer til nummeret som skal avrundes.
  2. Ndigits - definerer hvilken verdi antallet er avrundet.

Funksjonen returnerer deretter nærmeste heltall hvis ndigits -parameteren ikke er spesifisert. Ellers vil funksjonen returnere nummeret avrundet antall desimaler som er spesifisert i Ndigits -parameteren.

Eksempel: Enkel funksjonsbruk

Eksemplet nedenfor illustrerer hvordan du bruker rundfunksjonen:

# int
trykk (runde (100))
# Float
trykk (runde (100.111))
# flyte stort
trykk (runde (100.999))

I eksemplet over har vi et enkelt program som avrunder de spesifiserte verdiene til nærmeste heltall. Dette er fordi vi ikke spesifiserer NDIGITS -parameteren.

Produksjon:
100
100
101

Husk at runden () -funksjonen vil følge de grunnleggende reglene for avrunding:

  1. Hvis verdien etter desimal er større enn eller lik 5, blir 1 lagt til verdien før desimalen.
  2. Hvis verdien etter desimal er mindre enn 5, returneres verdien før desimalen returneres.

Eksempel 2: Avrunde til et bestemt antall desimaler

Funksjonen lar oss spesifisere antall desimaler som antallet er avrundet av.

Et eksempelprogram er som vist:

trykk (runde (100.12121, 2))
trykk (runde (100.7261, 2))
trykk (runde (100.375, 2))

Ovennevnte gir program illustrerer hvordan du bruker Round () -funksjonen til å avrunde en flottør til et bestemt desimalsted.

100.12
100.73
100.38

Merk at det er bra å være oppmerksom på avrundingsoperasjonen av flytende punktverdier. Dette er fordi noen verdier ikke kan uttrykkes nøyaktig som flytende punktverdier. Dette kan føre til at Python utfører noe avkortning som kan være farlig i presisjonsfølsomme operasjoner.

Eksempel 3: Avrunde negative tall

La oss se den runde operasjonen på negative tall.

trykk (runde (-1.001, 2))
trykk (runde (-3.14159, 3))
trykk (runde (-10.999, 1))

Hvis vi kjører koden over, bør vi se utdataene som:

$ Python runde.py
-1.0
-3.142
-11.0

Du vil merke at funksjonen ikke forhåndsinnstiler noen forskjell på positive og negative verdier.

Eksempel 4: Rund til overflødig desimaler

Hva skjer hvis du har et tall med to desimaler og avrunder til mer enn to desimaler.

Et eksempelkode er som vist:

trykk (runde (3.141, 5))

Hvis det skjer, vil funksjonen returnere inngangsverdien som vist:

$ Python runde.py
3.141

Python spesialrunde og høye presisjonsfunksjoner.

Python har en desimalmodul som gir eksepsjonelle og høye presisjonsfunksjoner. Disse funksjonene lar deg utføre spesialiserte avrundingsoperasjoner. Disse funksjonene inkluderer:

  1. Runde_up - lar deg runde deg fra null.
  2. Round_down - lar deg runde mot null.
  3. Round_floor - runder mot negativ uendelig
  4. RUND_CEILING - Runder mot positiv uendelig
  5. Runde_half_up - runder til nærmeste bånd vekk fra null.
  6. Runde_half_down - runder til nærmeste bånd mot null.
  7. Round_half_even - runder til nærmeste bånd til jevn.

Du kan utforske denne modulen videre i ressursen nedenfor:

https: // dokumenter.Python.org/3/bibliotek/desimal.html

Konklusjon

I denne artikkelen lærte vi hvordan vi skal utføre runde operasjoner i Python. Vi diskuterte hvordan vi kan avrunde heltall og flytende punktverdier til et gitt desimalt sted.