¿Cómo convertir Float a Int en Python?

La conversión de un valor flotante a un int se realiza mediante la conversión de tipos , que es un método explícito para convertir un operando en un tipo específico. Sin embargo, cabe señalar que este tipo de conversión puede tender a ser con pérdidas (pérdida de datos). Convertir un valor int como 2 en punto flotante dará como resultado 2.0 , tales tipos de conversión son seguros ya que no habría pérdida de datos, pero convertir 3.4 en un valor int dará como resultado 3 , lo que conducirá a una conversión con pérdida. 
Ejemplos: 

Input:  3.3 
Output: 3 

Input:  5.99
Output: 5

Método 1: Conversión usando int() :

Para convertir un valor flotante a int, utilizamos la función integrada int() , esta función recorta los valores después del punto decimal y devuelve solo la parte entera/número entero.

Sintaxis:  int(x) 

Retorno: valor entero

Ejemplo 1: el número de tipo float se convierte en un resultado de tipo int .

Python3

# conversion from float to int
 
num = 9.3
 
# printing data type of 'num'
print('type:',
      type(num).__name__) 
 
# conversion to int
num = int(num)  
 
# printing data type of 'num'
print('converted value:', num,
      ', type:', type(num).__name__)
Producción

type: float
converted value: 9 , type: int

Ejemplo 2: en la mayoría de los casos, la función int() redondea el resultado a un número entero menor o igual que la entrada, pero el comportamiento no es definitivo ni predecible. A continuación se muestra un ejemplo de este tipo.

Python3

# example of unpredictable
# behaviour of int()
 
num1 = 5.9
num2 = 5.99999999999999999999
 
num1 = int(num1)
num2 = int(num2)
 
print(num1, num2, sep = '\n')
Producción

5
6

Método 2: Conversión usando math.floor() y math.ceil() .

Un valor flotante se puede convertir a un valor int no mayor que la entrada usando la función math.floor(), mientras que también se puede convertir a un valor int que es el entero más pequeño mayor que la entrada usando math.ceil() función. El módulo matemático debe importarse para poder utilizar estos métodos.

Sintaxis: matemáticas.piso(x)

Parámetro:

x: Esta es una expresión numérica.

Devuelve: el entero más grande no mayor que x.

Sintaxis: matemáticas.ceil(x)

Parámetro:

x: Esta es una expresión numérica.

Devuelve: el entero más pequeño no menor que x.

Ejemplo: en el siguiente ejemplo, la conversión de float a int se logró mediante los métodos floor() y ceil(), el primero devuelve un int no mayor que la entrada y el último devuelve el entero más pequeño mayor que la entrada.

Python3

# conversion using floor and ceil .
 
# importing math module
import math      
 
num = 5.6
 
floor_value = math.floor(num)
 
ceil_value  = math.ceil(num)
 
print("the result using floor() : ",
      floor_value ,
      ', type : ',type(floor_value).__name__)
 
print("the result using ceil()  : ",
      ceil_value,
      ', type: ', type(ceil_value).__name__)
Producción

the result using floor() :  5 , type :  int
the result using ceil()  :  6 , type:  int

Método #3: Conversión usando round() .

Un valor flotante se puede convertir en un valor int que es un valor entero más cercano si no pasa el segundo parámetro. En caso de igual diferencia, va hacia un entero mayor.

Sintaxis: ronda(x)

Parámetro:

x: Esta es una expresión numérica.

Devuelve: entero múltiplo del más cercano.

Ejemplo: en el siguiente ejemplo, la conversión de float a int se logró utilizando los métodos round(), el primero devuelve un número int que es el más cercano al número.

Python3

# conversion using round.
        
num = 5.6
 
# Before convetion value and type
print( 'Type : ', type(num).__name__)
print( "Original number is : ", num)
 
# convertion to int
value = round(num)
 
print( 'Type : ',type(value).__name__)
print("the result using round  : ",value)
Producción

Type :  float
Original number is :  5.6
Type :  int
the result using round  :  6

Método #4: Conversión usando math.trunc().

Un valor flotante se puede convertir en un valor int. En el caso de un número negativo, se comporta como una función de techo de la biblioteca matemática y en el caso de un número positivo, se comporta como una función de piso.

Sintaxis: matemáticas.trunc(x)

Parámetro:

x: Esta es una expresión numérica.

Devuelve: entero más grande en caso de número negativo; de lo contrario, en caso de número positivo, número más pequeño.

Ejemplo: en el siguiente ejemplo, la conversión de float a int se logró utilizando los métodos math.trunc(), el primero devuelve un número int más grande que, en caso de un número negativo, de lo contrario, en el caso de un número positivo, devuelve un número entero más pequeño.

Python3

# conversion using math.trunc().
        
import math
num = 5.6
num2 = -2.6
 
 
# convertion of negative number to int
value = math.trunc(num2)
 
print( 'Type of value : ',type(value).__name__)
print("the result using round  : ",value)
 
# convertion of positive number to int
data = math.trunc(num)
 
print( 'Type of data: ',type(data).__name__)
print("the result using round  : ",data)
 
 
      
Producción

Type of value :  int
the result using round  :  -2
Type of data:  int
the result using round  :  5

Publicación traducida automáticamente

Artículo escrito por support3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *