logo

Jak převést Float na Int v Pythonu?

Konverze a plovák hodnota k an int provádí Převod typu , což je explicitní metoda převodu operandu na konkrétní typ. Je však třeba poznamenat, že tento typ konverze může mít tendenci být ztrátový (ztráta dat). Převod int hodnoty jako 2 na plovoucí desetinnou čárku bude mít za následek 2,0 jsou takové typy převodů bezpečné, protože by nedocházelo ke ztrátě dat, ale ke konverzi 3.4 na hodnotu int bude mít za následek 3 což vede ke ztrátové konverzi.
Příklady:

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

Metoda 1: Konverze pomocí int() :



K převodu float hodnoty na int používáme vestavěný int() Tato funkce ořízne hodnoty za desetinnou čárkou a vrátí pouze část celého čísla/celého čísla.

Syntax: int(x)

Vrátit se: celočíselná hodnota



Příklad 1: Číslo typu plovák se převede na výsledek typu 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__)>

>

>

Výstup

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

Příklad 2: Ve většině případů funkce int() zaokrouhlí výsledek na celé číslo menší nebo rovné vstupu, ale chování není ani jednoznačné, ani předvídatelné. Jeden takový příklad je uveden níže.

Python3




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

>

>

Výstup

5 6>

Metoda 2: Konverze pomocí math.floor() a math.ceil() .

Hodnota float lze pomocí funkce math.floor() převést na hodnotu int, která není větší než vstup, zatímco pomocí funkce math.ceil() ji lze také převést na hodnotu int, která je nejmenším celým číslem větším než vstup. funkce. Pro použití těchto metod je třeba importovat matematický modul.

Syntax: math.floor(x)

Parametr:

X: Toto je číselný výraz.

Vrácení: největší celé číslo není větší než x.

Syntax: math.ceil(x)

vložit do klávesnice

Parametr:

X: Toto je číselný výraz.

Vrácení: Nejmenší celé číslo ne menší než x.

Příklad: V níže uvedeném příkladu byla konverze z float na int dosažena pomocí metod floor() a ceil(), první vrací int ne větší než input a druhá vrací nejmenší celé číslo větší než input.

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

>

>

Výstup

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

Metoda č. 3: Konverze pomocí kolo ( ) .

Hodnota float může být převedena na hodnotu int, která je nejbližší celočíselnou hodnotou, pokud neprojde druhým parametrem. V případě stejného rozdílu jde směrem k většímu celému číslu.

Syntaxe: round(x)

Parametr:

x: Toto je číselný výraz.

Vrací: celočíselný násobek nejbližšího.

Příklad: V níže uvedeném příkladu byla konverze z float na int dosažena pomocí metod round(), první vrací číslo int, které je nejblíže číslu.

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

>

>

Výstup

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

Metoda č. 4: Konverze pomocí math.trunc().

Hodnota float lze převést na hodnotu int. V případě záporného čísla se chová jako stropní funkce matematické knihovny a v případě kladného čísla se chová jako funkce podlahy.

Syntaxe: math.trunk(x)

Parametr:

x: Toto je číselný výraz.

Vrací: větší celé číslo v případě záporného čísla, v případě kladného čísla menší číslo.

Příklad: V níže uvedeném příkladu bylo konverze z float na int dosaženo pomocí metod math.trunc(), první vrací větší int číslo, které v případě záporného čísla, jinak v případě kladného čísla vrací menší celé číslo.

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

>

>

Výstup

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