Funkcija round () pateikia slankiojo kablelio skaičių, suapvalintą iki nurodyto skaičiaus po kablelio.
round()Funkcijos sintaksė yra tokia:
apvalus (skaičius, skaitmenys)
apvalus () parametrai
round()Funkcija trunka du parametrus:
- skaičius - skaičius, kurį reikia suapvalinti
- skaitmenys (neprivaloma) - skaičius, iki kurio suapvalinamas nurodytas skaičius; pagal nutylėjimą yra 0
Grąžinimo vertė iš apvalaus ()
- Jei
ndigitsnepateikiama,round()grąžina artimiausią nurodyto skaičiaus sveikąjį skaičių. - Jei
ndigitsyra,round()grąžina skaičių suapvalintą ikindigitsskaitmenų.
1 pavyzdys: Kaip „Python“ veikia „round“ ()?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Rezultatas
10 11 6
2 pavyzdys: suapvalinkite skaičių iki nurodyto skaičiaus po kablelio
print(round(2.665, 2)) print(round(2.675, 2))
Rezultatas
2,67 2,67
Pastaba : round()plūdurų elgesys gali nustebinti. Pranešimas round(2.675, 2)pateikia 2.67vietoj laukiamo 2.68. Tai nėra klaida: tai yra faktas, kad daugumos dešimtainių trupmenų negalima tiksliai parodyti kaip plūdės.
Kai dešimtainis 2.675skaičius konvertuojamas į dvejetainį slankiojo kablelio skaičių, jis vėl pakeičiamas dvejetainiu aproksimavimu, kurio tiksli reikšmė yra:
2.67499999999999982236431605997495353221893310546875
Dėl to jis suapvalinamas iki 2.67.
Jei esate tokioje situacijoje, kai reikalingas šis tikslumas, apsvarstykite galimybę naudoti decimalslankiojo kablelio aritmetikai skirtą modulį:
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))
Rezultatas
2,67 2,68








