Python-kierros ()

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 ndigitsei anneta, round()palauttaa lähimmän kokonaisluvun annettuun lukuun.
  • Jos ndigitsannetaan, round()palauttaa luvun pyöristettynä numeroihin ndigits.

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.67odotetun sijasta 2.68. Tämä ei ole vika: se johtuu siitä, että useimpia desimaalimurtoja ei voida esittää täsmälleen kellukkeina.

Kun desimaali 2.675muunnetaan 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 decimalmoduulin 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

Mielenkiintoisia artikkeleita...