La funzione intera più vicina in Python
Python e arrotondamenti
La libreria matematica Python offre un pacchetto di metodi utili per arrotondare numeri decimali in numeri interi. È possibile arrotondare un numero nel modo tradizionale (al numero intero più piccolo più piccolo in parti di frazione pari a 0, 4 o meno, e al più grande in parti di 0, 5 o più) utilizzando il metodo "round ()". L'esempio seguente mostra come arrotondare i numeri decimali usando il metodo "round":
f = 5.455 round (f) 5.0 round (f, 2) // round a 2 decimali 5.46
Metodi del tetto e del pavimento
Come parte della libreria matematica, i metodi "floor ()" e "ceil ()" forniscono un modo unico per arrotondare i decimali che potresti trovare utili in determinati calcoli. Il metodo del terreno arrotonda il numero più piccolo più vicino all'infinito negativo (indipendentemente dal valore decimale) e il metodo del tetto lo arrotonda al numero intero più vicino all'infinito positivo. L'esempio seguente mostra come funzionano le due funzioni:
import math f = 3, 5 g = -3, 5 floor (f) 3, 0 ceil (3, 5) 4, 0 floor (g) -4, 0 ceil (g) -3, 0
Arrotondamento e intero
Le operazioni di arrotondamento illustrate mostrano come utilizzare queste funzioni, ma hanno anche effetti collaterali: nelle versioni di Python precedenti alla 3.0, i decimali arrotondati non erano arrotondati agli interi, ma ai decimali. A causa del modo in cui rappresentare i decimali nelle architetture dei computer, ciò potrebbe causare problemi nei calcoli di alta precisione in cui i programmatori necessitano di numeri interi. È possibile convertire un numero mobile in un numero intero utilizzando il metodo "int ()", come in questo esempio:
f = 3.5 round (f) 4.0 int (round (f)) 4
Metodo di esempio
Usando questa conoscenza, puoi sviluppare un metodo per arrotondare facilmente i decimali in numeri interi. I seguenti esempi mostrano brevi esempi di metodi che determinano il tetto e il pavimento di un numero come numero intero e un altro arrotondato al decimale scelto dall'utente (o un numero intero):
import math def integerFloor (x) :. . . return int (floor (x)) def integerCeiling (x) :. . . return int (ceil (x)) def arrotondamento (x, dec) :. . . se dec == 0 :. . . return int (round (x)). . . altro. . . ritorno (round (x, dec))