Převést řetězec na plovoucí v Pythonu

Python definuje funkce převodu typů pro přímý převod jednoho datového typu na jiný. Tento článek je zaměřen na poskytování informací o převodu řetězce na float. V Pythonu můžeme použít float() k převodu String na float. a můžeme použít int() k převodu řetězce na celé číslo.

 Input:  '33.28' Output: 33.28 # float Explanation: int in input and float in output 

Převod řetězce na plovoucí

Níže je uveden seznam metod, které v tomto článku probereme:

  • Analyzujte řetězec na float pomocí float()
  • Převést řetězec na plovoucí se zadanými desetinnými čárkami
  • Převeďte řetězec na plovoucí pomocí Numpy
  • FAQ

Převod řetězce na plovoucí

V Pythonu můžeme převést datový typ String na float pomocí vestavěné metody float, která převede datový typ řetězce, který je v něm předán.

Python3




string> => '33.28'> > # using float method to convert string to float> num> => float> (string)> > print> (num)> print> (> type> (num))>

Výstup:

33.28 

Pythonský program pro analýzu řetězce na float pomocí float()

Tento funkce se používá k převodu libovolného datového typu na číslo s plovoucí desetinnou čárkou. Tato metoda přijímá pouze jeden parametr a ten je také volitelný. Pokud není předán žádný argument, metoda vrátí 0.

Python3




string> => '3.141'> > print> (string)> print> (> type> (string))> > # syntax - float()> Float> => float> (string)> > print> (> Float> )> print> (> type> (> Float> ))>

Výstup:

3.141 3.141 

Časová složitost: O(1), protože existuje pevný počet operací prováděných bez ohledu na velikost vstupu.
Pomocný prostor: O(1), protože množství paměti používané kódem nezávisí na velikosti vstupu.

Výjimka ValueError

V tomto příkladu se pokusíme převést a řetězec na celé číslo a pak plovák. Ve výstupu můžeme vidět, že nemůžeme převést číslo s plovoucím řetězcem na celé číslo, takže dostaneme chybu hodnoty.

Python3




string> => '55.567'> > Float> => float> (> int> (string))> > print> (> type> (> Float> ))> > print> (> 'Float Value ='> ,> Float> )>

Výstup:

 ValueError Traceback (most recent call last) in () 1 string = '55.567' 2 ---->3 Float = float(int(string)) 4 5 print(type(Float)) ValueError: neplatný literál pro int() se základem 10: '55.567' 

Převést řetězec na plovoucí se zadanými desetinnými čárkami

Chcete-li převést řetězec na float se zadaným počtem desetinných míst, můžete použít funkci float () v Pythonu spolu s formátováním řetězce.

Python3




string_number> => '55.5675751'> decimal_points> => 2> > #converting string to float> float_number> => float> (string_number)> #using .format method to print upto decimal point> formatted_float> => '{:.{}f}'> .> format> (float_number, decimal_points)> > print> (formatted_float)>

Výstup:

55.57 

Převeďte řetězec na plovoucí pomocí Numpy

V Numpy máme ‚numpy.float64‘, což je metoda vestavěná v modulu Numpy, která převádí hodnotu řetězce na float.

Zde je příklad.

Python3




import> numpy as np> > my_str> => '55.567'> float_number> => np.float64(my_str)> print> (float_number)> print> (> type> (float_number))>

Výstup:

55.567 

Nejčastější dotazy týkající se konverzace typu float a string

Otázka: Proč je potřeba převádět float na řetězec?

Odpovědět: Někdy potřebujeme převést hodnotu float na hodnotu řetězce, protože chceme použít metodu, která je v Pythonu pouze pro typ řetězce, např. řetězení řetězců .

Otázka: Proč potřebujeme převést řetězec na float?

Odpovědět: Podle požadavku, pokud chceme použít metodu, která je k dispozici pro datový typ float, převedeme řetězec na hodnotu float, např. add .