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 številoParameter:
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>