Converti un numero in virgola mobile in un intero in Python

Vaibhav Vaibhav 22 giugno 2021
  1. Converti un numero in virgola mobile in intero usando la funzione int() in Python
  2. Converti un numero in virgola mobile in intero usando il modulo math in Python
Converti un numero in virgola mobile in un intero in Python

Convertire un numero mobile in un intero in Python è relativamente facile grazie alle funzioni e alle librerie integrate. Quando si converte un numero mobile in un intero, abbiamo due possibilità. Sebbene sia facile scrivere noi stessi una funzione per svolgere questo compito, parleremo solo di come utilizzare le funzioni e le librerie integrate in questo articolo.

Supponiamo di avere un numero, diciamo 1.52. Se desideriamo convertire questo numero in un numero intero, possiamo utilizzare 2 o 1. Il primo è il valore del soffitto e il secondo è il valore del pavimento. Poiché esistono diverse funzioni per eseguire questa attività, tutte svolgono l’attività precedente in modo diverso e restituiscono valori diversi. Quindi scegli la funzione di conseguenza in base al tuo caso d’uso.

Converti un numero in virgola mobile in intero usando la funzione int() in Python

number = 25.49
print(int(number))

Produzione:

25

La funzione int() accetta un argomento che rappresenta un numero e lo converte in un numero intero. Questo argomento può essere una stringa, un valore float o un intero stesso. La funzione considera il valore intero o la parte prima del decimale nel numero e lo restituisce.

Ma int() si comporta in modo leggermente diverso quando un numero della forma integer.9999999999999999 viene passato come argomento. Quando ci sono più o uguali a sedici 9 cifre dopo il decimale, la funzione restituisce integer + 1 in caso di valore positivo e integer - 1 in caso di valore negativo come risposta.

Fare riferimento al seguente frammento di codice per una migliore comprensione del concetto.

print(int(1.5))
print(int(1.51))
print(int(1.49))
print(int(-1.5))
print(int(-1.51))
print(int(-1.49))
print(int(1.9999999999999999))
print(int(-1.9999999999999999))

Produzione:

0
1
1
1
1
-1
-1
-1
2
-2

Converti un numero in virgola mobile in intero usando il modulo math in Python

Possiamo ottenere lo stesso compito utilizzando una libreria Python incorporata, math. Questa libreria ha tutti i tipi di funzioni matematiche richieste per i calcoli matematici.

Parleremo solo di tre funzioni matematiche dalla libreria math.

Come suggerisce il nome, la funzione trunc() tronca o taglia o rimuove la parte decimale del numero passato come argomento e considera solo la parte intera. Si comporta esattamente come la funzione incorporata int() e si comporta in modo diverso per l’eccezione di cui abbiamo parlato sopra.

import math

print(math.trunc(0))
print(math.trunc(1))
print(math.trunc(1.5))
print(math.trunc(1.51))
print(math.trunc(1.49))
print(math.trunc(-1.5))
print(math.trunc(-1.51))
print(math.trunc(-1.49))
print(math.trunc(1.9999999999999999))
print(math.trunc(-1.9999999999999999))

Produzione:

0
1
1
1
1
-1
-1
-1
2
-2

Fare riferimento ai documenti ufficiali per saperne di più sulla funzione, qui

Successivamente, abbiamo la funzione ceil(). Questa funzione restituisce il valore massimo del numero o il numero intero più piccolo maggiore o uguale al numero passato come argomento.

import math

print(math.ceil(0))
print(math.ceil(1))
print(math.ceil(1.5))
print(math.ceil(1.51))
print(math.ceil(1.49))
print(math.ceil(-1.5))
print(math.ceil(-1.51))
print(math.ceil(-1.49))
print(math.ceil(1.9999999999999999))
print(math.ceil(-1.9999999999999999))

Produzione:

0
1
2
2
2
-1
-1
-1
2
-2

Fare riferimento ai documenti ufficiali per saperne di più sulla funzione, qui

Infine, abbiamo la funzione floor(). Questa funzione restituisce il valore minimo del numero o il numero intero più grande minore o uguale al numero passato come argomento.

import math

print(math.floor(0))
print(math.floor(1))
print(math.floor(1.5))
print(math.floor(1.51))
print(math.floor(1.49))
print(math.floor(-1.5))
print(math.floor(-1.51))
print(math.floor(-1.49))
print(math.floor(1.9999999999999999))
print(math.floor(-1.9999999999999999))

Produzione:

0
1
1
1
1
-2
-2
-2
2
-2

Fare riferimento ai documenti ufficiali per saperne di più sulla funzione, qui

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Articolo correlato - Python Float

Articolo correlato - Python Integer