Konvertera en flyta värde till en int görs av Typkonvertering , som är en explicit metod för att konvertera en operand till en specifik typ. Det bör dock noteras att en sådan typ av konvertering kan tendera att vara en förlust (förlust av data). Konvertera ett int-värde som 2 till flyttal kommer att resultera i 2.0 , sådana typer av konvertering är säkra eftersom det inte skulle ske någon förlust av data, utan konvertering 3.4 till ett int-värde kommer att resultera i 3 leder till en förlustlös konvertering.
Exempel:
Input: 3.3 Output: 3 Input: 5.99 Output: 5>
Metod 1: Konvertering med hjälp av int() :
För att konvertera ett flytvärde till int använder vi oss av inbyggd int() funktion, den här funktionen trimmar värdena efter decimalkomma och returnerar endast heltals-/heltalsdelen.
Syntax: int(x)
Lämna tillbaka: heltalsvärde
Exempel 1: Antal typ flyta konverteras till ett resultat av typ 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__)> |
>
>Produktion
type: float converted value: 9 , type: int>
Exempel 2: I de flesta fall avrundar funktionen int() resultatet till ett heltal som är mindre än eller lika med indata, men beteendet är varken definitivt eller förutsägbart. Ett sådant exempel visas nedan.
Python3
# example of unpredictable> # behaviour of int()> num1>=> 5.9> num2>=> 5.99999999999999999999> num1>=> int>(num1)> num2>=> int>(num2)> print>(num1, num2, sep>=> '
'>)> |
>
>Produktion
5 6>
Metod 2: Konvertering med hjälp av math.floor() och math.ceil() .
Ett flytvärde kan konverteras till ett int-värde som inte är större än inmatningen genom att använda math.floor()-funktionen, medan det också kan konverteras till ett int-värde som är det minsta heltal större än inmatningen med math.ceil() fungera. Matematikmodulen ska importeras för att kunna använda dessa metoder.
Syntax: math.floor(x)
Parameter:
x: Detta är ett numeriskt uttryck.
Returnerar: största heltal inte större än x.
Syntax: math.ceil(x)
namngivning av javakonventionerParameter:
x: Detta är ett numeriskt uttryck.
Returnerar: Minsta heltal inte mindre än x.
Exempel: I exemplet nedan har konvertering från float till int uppnåtts med metoderna floor() och ceil(), den förra returnerar en int som inte är större än indata och den senare returnerar det minsta heltal som är större än indata.
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__)> |
>
>Produktion
the result using floor() : 5 , type : int the result using ceil() : 6 , type: int>
Metod #3: Konvertering med hjälp av runda ( ) .
Ett flytvärde kan konverteras till ett int-värde som är ett heltalsvärde om det inte passerar den andra parametern. Vid lika skillnad går den mot ett större heltal.
Syntax: rund(x)
Parameter:
x: Detta är ett numeriskt uttryck.
Returnerar: heltalsmultipel av närmaste.
Exempel : I exemplet nedan har konvertering från float till int uppnåtts med round()-metoderna, den förra returnerar ett int-tal som är närmast numret.
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)> |
>
>Produktion
Type : float Original number is : 5.6 Type : int the result using round : 6>
Metod #4: Konvertering med math.trunc( ).
Ett flytvärde kan konverteras till ett int-värde. I händelse av negativt tal beter sig det som takfunktion i matematikbibliotek och vid positivt tal beter sig som golvfunktion.
Syntax: math.trunk(x)
Parameter:
x: Detta är ett numeriskt uttryck.
Returnerar: större heltal vid negativt tal annat vid positivt tal mindre tal.
Exempel: I exemplet nedan har omvandlingen från float till int uppnåtts med metoderna math.trunc(), den förra returnerar ett större int-tal som i fallet med negativt tal, annars i fallet med positivt tal returnerar mindre heltal.
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)> > |
>
>Produktion
Type of value : int the result using round : -2 Type of data: int the result using round : 5>