Convertint a flotar valor a un int es fa per Conversió de tipus , que és un mètode explícit per convertir un operand a un tipus específic. Tanmateix, cal tenir en compte que aquest tipus de conversió pot tendir a ser amb pèrdues (pèrdua de dades). Convertint un valor int com 2 a coma flotant donarà lloc 2.0 , aquests tipus de conversió són segurs, ja que no hi hauria pèrdua de dades, sinó conversió 3.4 a un valor int donarà lloc 3 donant lloc a una conversió amb pèrdues.
Exemples:
Input: 3.3 Output: 3 Input: 5.99 Output: 5>
Mètode 1: Conversió utilitzant int() :
Per convertir un valor flotant a int fem servir el int() integrat funció, aquesta funció retalla els valors després del punt decimal i retorna només la part enter/número sencer.
Sintaxi: int(x)
Tornada: valor sencer
Exemple 1: Número de tipus flotar es converteix en un resultat de tipus int .
Python 3
# 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__)> |
>
>Sortida
type: float converted value: 9 , type: int>
Exemple 2: En la majoria dels casos, la funció int() arrodoneix el resultat a un nombre enter inferior o igual a l'entrada, però el comportament no és definit ni previsible. A continuació es mostra un d'aquests exemples.
Python 3
# example of unpredictable> # behaviour of int()> num1>=> 5.9> num2>=> 5.99999999999999999999> num1>=> int>(num1)> num2>=> int>(num2)> print>(num1, num2, sep>=> '
'>)> |
>
>Sortida
5 6>
Mètode 2: Conversió utilitzant math.floor() i math.ceil() .
Un valor flotant es pot convertir en un valor int no més gran que l'entrada mitjançant la funció math.floor(), mentre que també es pot convertir en un valor int que és l'enter més petit més gran que l'entrada mitjançant math.ceil() funció. El mòdul de matemàtiques s'ha d'importar per utilitzar aquests mètodes.
Sintaxi: math.floor(x)
Paràmetre:
x: Aquesta és una expressió numèrica.
Devolucions: nombre enter més gran no superior a x.
Sintaxi: math.ceil(x)
canyella vs mateParàmetre:
x: Aquesta és una expressió numèrica.
Devolucions: El nombre enter més petit no inferior a x.
Exemple: A l'exemple següent, la conversió de float a int s'ha aconseguit mitjançant els mètodes floor() i ceil(), el primer retorna un int no més gran que l'entrada i el segon retorna l'enter més petit més gran que l'entrada.
Python 3
# 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__)> |
>
>Sortida
the result using floor() : 5 , type : int the result using ceil() : 6 , type: int>
Mètode núm. 3: Conversió utilitzant rodó ( ) .
Un valor flotant es pot convertir en un valor int que és un valor enter més proper si no passa el segon paràmetre. En cas de diferència igual, es dirigeix cap a un enter més gran.
Sintaxi: rodó (x)
Paràmetre:
x: Aquesta és una expressió numèrica.
Retorna: múltiple enter del més proper.
Exemple: a l'exemple següent, la conversió de float a int s'ha aconseguit mitjançant els mètodes round(), el primer retorna un nombre int que és el més proper al nombre.
Python 3
# conversion using round.> > num>=> 5.6> # Before conversion value and type> print>(>'Type : '>,>type>(num).__name__)> print>(>'Original number is : '>, num)> # conversion to int> value>=> round>(num)> print>(>'Type : '>,>type>(value).__name__)> print>(>'the result using round : '>,value)> |
>
>Sortida
Type : float Original number is : 5.6 Type : int the result using round : 6>
Mètode #4: Conversió mitjançant math.trunc().
Un valor flotant es pot convertir en un valor int. En cas de nombre negatiu, es comporta com la funció de sostre de la biblioteca de matemàtiques i en cas de nombre positiu es comporta com la funció de planta.
Sintaxi: math.trunk(x)
Paràmetre:
x: Aquesta és una expressió numèrica.
Retorna: nombre enter més gran en cas de nombre negatiu, sinó en cas de nombre positiu, nombre més petit.
Exemple: A l'exemple següent, la conversió de float a int s'ha aconseguit mitjançant els mètodes math.trunc(), el primer retorna un nombre int més gran que en cas de nombre negatiu, sinó en cas de nombre positiu retorna un nombre enter més petit.
Python 3
# conversion using math.trunc().> > import> math> num>=> 5.6> num2>=> ->2.6> # conversion of negative number to int> value>=> math.trunc(num2)> print>(>'Type of value : '>,>type>(value).__name__)> print>(>'the result using round : '>,value)> # conversion of positive number to int> data>=> math.trunc(num)> print>(>'Type of data: '>,>type>(data).__name__)> print>(>'the result using round : '>,data)> > |
>
>Sortida
Type of value : int the result using round : -2 Type of data: int the result using round : 5>