# Kako pretvoriti nize Python v plavajoče številke

Pretvorba niza Python v plavajočo vrednost vam lahko pomaga izogniti se napakam, ki nastanejo zaradi vključitve nizov, ki niso številčni, v aritmetične operacije.

## Katere vrste nizov Python se lahko pretvorijo v plavajoče številke?

Če želite pretvoriti niz Python v **plavajočo** vrednost, mora niz imeti **veljavno numerično predstavitev kot plavajoča vrednost**. To pomeni, da lahko vsebuje številke v decimalnem formatu, ki vključuje decimalne pike in znanstveno zapisanje (kot na primer `"3.14"` ali `"2.7e-3"`). Vendar pa ne sme vsebovati dodatnih znakov, presledkov ali znakov, ki ne predstavljajo numerič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 različicah. Bodite pozorni na napake, ki lahko nastanejo med pretvorbami. Na primer, vnos niza, ki ne predstavlja veljavnega š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 razvijalci, ki delajo s pretvorbami, znati ustrezno obravnavati napake. Ena od možnosti za to je uporaba **blokov try/except** za zaznavanje napak in odzivanje nanje.

## Kako pretvoriti Pythonove nize z float()

Funkcija `float()` je **vgrajena metoda Python**, ki pretvarja nize v plavajoče številke. Pogosto se uporablja za spreminjanje uporabniških vnosov iz nizov v številčne formate, tako da se vnosi lahko uporabijo v izračunih ali številčnih operacijah. V programih, ki delujejo z različnimi vrstami podatkov, se `float()` uporablja za zagotavljanje doslednosti podatkov s pretvarjanjem vrednosti v številčni format.

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

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

Druge številčne tipe, kot sta `int` in `complex`, lahko pretvorite v plavajoče število tako, da jih pretvorite v `float()`.

Bloki try/except se lahko uporabijo za zaznavanje **neveljavnih uporabniških vnosov** pri pretvarjanju nizov v plavajoče številke:

```python
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
```

Zgornja koda je **zanka, ki uporabnike pozove, naj vnesete številko**. Nato poskuša to vrednost pretvoriti 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 izvajanjem programa.

Če pri pretvorbi niza v float pride do napake **ValueError**, se izvede koda v bloku except. To se lahko zgodi, če uporabnik vnese vrednost, ki je ni mogoče pretvoriti v float, na primer črko. V tem primeru se prikaže sporočilo, da je vnos neveljaven, in zanka ponovno zahteva veljaven vnos.

## Kako pretvoriti Pythonove nize v plavajoče številke z NumPy

Če želite pretvoriti niz Python v plavajočo vrednost s **NumPy**, lahko uporabite funkcijo `numpy.float64()`. Ta vam bo dala 64-bitno plavajočo vrednost.

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

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 pretvorite v 64-bitno plavajoče število.

## Kako uporabljati str()

Če pa želite pretvoriti float v niz, lahko uporabite funkcijo `str()`. Ta funkcija **pretvarja druge vrednosti v nize**.

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

V zgornjem primeru je vrednost float `3.1416` pretvorjena v niz `"3.1416"` z uporabo `str()`.

`str()` je uporaben tudi za povezovanje več plavajočih vrednosti z nizi f ( format niza v Pythonu).

```python
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
```

Upoštevajte, da bo pri pretvorbi plavajočih števil v nize z `str()` končni niz predstavljen kot besedilo in ne bo več na voljo za numerične izračune ali matematične operacije. Če ga želite uporabiti v izračunih, ga boste morali ponovno pretvoriti v numerično obliko (kot plavajoče število).

Tip Preberite več o drugih vrstah pretvorb v našem digitalnem vodniku. Razložimo, kako pretvoriti [ Pythonove nize v sezname](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/pretvarjanje-nizov-python-v-sezname/) in [Pythonove nize v datetime objekte](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/pretvarjanje-nizov-v-datum-in-cas-v-pythonu/).


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-string-float/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-string-float/) for AI/LLM consumption.