Pretvorba niza Python v plavajočo vrednost vam lahko pomaga izogniti se napakam, ki nastanejo zaradi vklju­či­tve nizov, ki niso številčni, v arit­me­tič­ne operacije.

Katere vrste nizov Python se lahko pre­tvo­ri­jo v plavajoče številke?

Če želite pre­tvo­ri­ti niz Python v plavajočo vrednost, mora niz imeti veljavno numerično pred­sta­vi­tev kot plavajoča vrednost. To pomeni, da lahko vsebuje številke v de­ci­mal­nem formatu, ki vključuje decimalne pike in znan­stve­no zapisanje (kot na primer "3.14" ali "2.7e-3"). Vendar pa ne sme vsebovati dodatnih znakov, pre­sled­kov ali znakov, ki ne pred­sta­vlja­jo nu­me­rič­nih vrednosti. Če jih vsebuje, pretvorba ne bo delovala.

Pretvorba niza v plavajočo vrednost je osnovna funkcija in je vključena v vsako različico Python. Vendar pa lahko obstajajo majhne razlike v delovanju nekaterih metod in funkcij v različnih raz­li­či­cah. Bodite pozorni na napake, ki lahko nastanejo med pre­tvor­ba­mi. Na primer, vnos niza, ki ne pred­sta­vlja ve­ljav­ne­ga števila, bo povzročil napako. Posebne vrednosti, kot NaN (ni število) in Infinity, ni mogoče Infinity v plavajoče število. To pomeni, da morajo raz­vi­jal­ci, ki delajo s pre­tvor­ba­mi, znati ustrezno obrav­na­va­ti napake. Ena od možnosti za to je uporaba blokov try/except za za­zna­va­nje napak in odzivanje nanje.

Kako pre­tvo­ri­ti Pythonove nize z float()

Funkcija float() je vgrajena metoda Python, ki pretvarja nize v plavajoče številke. Pogosto se uporablja za spre­mi­nja­nje upo­rab­ni­ških vnosov iz nizov v številčne formate, tako da se vnosi lahko uporabijo v izračunih ali šte­vilč­nih ope­ra­ci­jah. V programih, ki delujejo z raz­lič­ni­mi vrstami podatkov, se float() uporablja za za­go­ta­vlja­nje do­sle­dno­sti podatkov s pre­tvar­ja­njem vrednosti v številčni format.

Za pretvorbo nizov Python v plavajoče številke uporabite float() in kot argument vnesite veljaven niz:

str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416
python

Druge številčne tipe, kot sta int in complex, lahko pre­tvo­ri­te v plavajoče število tako, da jih pre­tvo­ri­te v float().

Bloki try/except se lahko uporabijo za za­zna­va­nje ne­ve­ljav­nih upo­rab­ni­ških vnosov pri pre­tvar­ja­nju nizov v plavajoče številke:

while True:
    user_input = input("Enter a number: ")
    try:
        float_value = float(user_input)
        print("Entered number as float:", float_value)
        break # Exit the loop if the conversion was successful
    except ValueError:
        print("Invalid input! Please enter a numeric value.")
        # The loop continues to prompt for valid input
python

Zgornja koda je zanka, ki upo­rab­ni­ke pozove, naj vnesete številko. Nato poskuša to vrednost pre­tvo­ri­ti v plavajočo številko. V bloku try je float(user_input) namenjeno pretvorbi niza, ki ga je vnesel uporabnik, v plavajočo številko. Če je pretvorba uspela, se številka shrani pod float_value in vrne. Izjava break nato zaključi zanko in nadaljuje z iz­va­ja­njem programa.

Če pri pretvorbi niza v float pride do napake Va­lu­e­Er­ror, se izvede koda v bloku except. To se lahko zgodi, če uporabnik vnese vrednost, ki je ni mogoče pre­tvo­ri­ti v float, na primer črko. V tem primeru se prikaže sporočilo, da je vnos ne­ve­lja­ven, in zanka ponovno zahteva veljaven vnos.

Kako pre­tvo­ri­ti Pythonove nize v plavajoče številke z NumPy

Če želite pre­tvo­ri­ti niz Python v plavajočo vrednost s NumPy, lahko uporabite funkcijo numpy.float64(). Ta vam bo dala 64-bitno plavajočo vrednost.

import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416
python

Najprej morate v svoj skript uvoziti NumPy, če še ni nameščen. Nato lahko z NumPy uporabite funkcijo numpy.float64() za niz string_value, da ga pre­tvo­ri­te v 64-bitno plavajoče število.

Kako upo­ra­blja­ti str()

Če pa želite pre­tvo­ri­ti float v niz, lahko uporabite funkcijo str(). Ta funkcija pretvarja druge vrednosti v nize.

float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"
python

V zgornjem primeru je vrednost float 3.1416 pre­tvor­je­na v niz "3.1416" z uporabo str().

str() je uporaben tudi za po­ve­zo­va­nje več pla­va­jo­čih vrednosti z nizi f ( format niza v Pythonu).

float_value1 = 3.1416
float_value2 = 2.7182
float_value3 = 1.6180
string_concatenation = f"Concatenation of: {str(float_value1)}, {str(float_value2)}, and {str(float_value3)}"
print(string_concatenation) # Concatenation of: 3.1416, 2.7182, and 1.6180
python

Upo­šte­vaj­te, da bo pri pretvorbi pla­va­jo­čih števil v nize z str() končni niz pred­sta­vljen kot besedilo in ne bo več na voljo za numerične izračune ali ma­te­ma­tič­ne operacije. Če ga želite uporabiti v izračunih, ga boste morali ponovno pre­tvo­ri­ti v numerično obliko (kot plavajoče število).

Tip

Preberite več o drugih vrstah pretvorb v našem di­gi­tal­nem vodniku. Razložimo, kako pre­tvo­ri­ti Pythonove nize v sezname in Pythonove nize v datetime objekte.

Go to Main Menu