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 .