logo

Kako pretvoriti Float v Int v Pythonu?

Pretvarjanje a lebdi vrednost za an int je opravil Pretvorba tipa , ki je eksplicitna metoda za pretvorbo operanda v določen tip. Vendar je treba opozoriti, da je taka vrsta pretvorbe lahko nagnjena k izgubi (izguba podatkov). Pretvarjanje int vrednosti, kot je 2 v plavajočo vejico bo povzročilo 2.0 , so takšne vrste pretvorb varne, saj ne bi prišlo do izgube podatkov, ampak do pretvorbe 3.4 na vrednost int bo povzročila 3 vodi v pretvorbo z izgubo.
Primeri:

 Input:  3.3 Output:  3 Input:  5.99 Output:  5>

1. način: Pretvorba z uporabo int() :

Za pretvorbo plavajoče vrednosti v int uporabimo vgrajen int() Ta funkcija odreže vrednosti za decimalno vejico in vrne samo del celega števila.



Sintaksa: int(x)

Vrnitev: cela vrednost

Primer 1: Številka tipa lebdi se pretvori v rezultat vrste 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__)>

>

>

Izhod

type: float converted value: 9 , type: int>

Primer 2: V večini primerov funkcija int() zaokroži rezultat na celo število, ki je manjše ali enako vhodu, vendar vedenje ni niti dokončno niti predvidljivo. En tak primer je prikazan spodaj.

Python3




# example of unpredictable> # behaviour of int()> num1>=> 5.9> num2>=> 5.99999999999999999999> num1>=> int>(num1)> num2>=> int>(num2)> print>(num1, num2, sep>=> ' '>)>

>

>

Izhod

5 6>

2. način: Pretvorba z uporabo math.floor() in math.ceil() .

Vrednost s plavajočo vrednostjo je mogoče pretvoriti v vrednost int, ki ni večja od vnosa, s funkcijo math.floor(), medtem ko jo je mogoče pretvoriti tudi v vrednost int, ki je najmanjše celo število, večje od vnosa, z uporabo math.ceil() funkcijo. Za uporabo teh metod je treba uvoziti modul matematike.

Sintaksa: math.floor(x)

Parameter:

x: To je številski izraz.

Vrne: največje celo število, ki ni večje od x.

Sintaksa: math.ceil(x)

kako pretvoriti niz v celo število

Parameter:

x: To je številski izraz.

Vrne: Najmanjše celo število, ki ni manjše od x.

primer: V spodnjem primeru je bila pretvorba iz float v int dosežena z metodama floor() in ceil(), pri čemer prva vrne int, ki ni večji od vhoda, druga pa vrne najmanjše celo število, večje od vhoda.

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__)>

>

>

Izhod

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

3. način: Pretvorba z uporabo krog ( ) .

Vrednost s plavajočo vrednostjo je mogoče pretvoriti v vrednost int, ki je skromna celoštevilska vrednost, če ne posreduje drugega parametra. V primeru enake razlike gre proti večjemu celemu številu.

Sintaksa: krog(x)

Parameter:

x: To je številski izraz.

Vrne: celoštevilski večkratnik najbližjega.

Primer: V spodnjem primeru je bila pretvorba iz float v int dosežena z uporabo metod round(), prva vrne int število, ki je najbližje številu.

Python3




# 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)>

>

>

Izhod

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

Metoda št. 4: Pretvorba z uporabo math.trunc().

Vrednost s plavajočo vrednostjo je mogoče pretvoriti v vrednost int. V primeru negativnega števila se obnaša kot funkcija zgornje meje matematične knjižnice, v primeru pozitivnega števila pa kot funkcija tal.

Sintaksa: math.trunk(x)

Parameter:

x: To je številski izraz.

Vrne: večje celo število v primeru negativnega števila drugo v primeru pozitivnega števila manjše število.

primer: V spodnjem primeru je bila pretvorba iz float v int dosežena z uporabo metod math.trunc(), pri čemer prva vrne večje int število, ki v primeru negativnega števila, sicer v primeru pozitivnega števila vrne manjše celo število.

Python3




# 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)> >

>

>

Izhod

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