# Kā pārvērst Python virknes par peldošajiem skaitļiem

Python virknes pārveidošana par float var palīdzēt izvairīties no kļūdām, kas rodas, iekļaujot aritmētiskās darbībās neciparu virknes.

## Kāda veida Python virknes var konvertēt uz peldošajiem skaitļiem?

Ja vēlaties konvertēt Python virkni uz float, virknei ir jābūt **derīgai skaitliskai reprezentācijai kā peldošā punkta vērtībai**. Tas nozīmē, ka tā var saturēt skaitļus decimāla formātā, kas ietver decimāla punktus un zinātnisko pierakstu (piemēram, `"3.14"` vai `"2.7e-3"`). Tomēr tā nedrīkst saturēt papildu rakstzīmes, atstarpes vai rakstzīmes, kas neatspoguļo skaitliskas vērtības. Ja tā ir, konvertēšana nedarbosies.

String–float konvertēšana ir pamata funkcija, kas ir iekļauta visās Python versijās. Tomēr dažās versijās var būt nelielas atšķirības dažādu metožu un funkciju darbībā. Pievērsiet uzmanību kļūdām, kas var rasties konvertēšanas laikā. Piemēram, ievadot string, kas neatspoguļo derīgu skaitli, radīsies kļūda. Un īpašas vērtības, piemēram, `NaN` (nav skaitlis) un `Infinity`, nevar konvertēt uz float. Tas nozīmē, ka attīstītājiem, kas strādā ar konvertēšanu, ir jāspēj atbilstoši rīkoties ar kļūdām. Viena no iespējām to izdarīt ir izmantot **try/except blokus**, lai uztvertu kļūdas un reaģētu uz tām.

## Kā konvertēt Python virknes ar float()

`float()` funkcija ir **iebūvēta Python metode**, kas pārvērš virknes par peldošajiem skaitļiem. To bieži izmanto, lai mainītu lietotāja ievadītos virknes uz ciparu formātu, lai ievadītos datus varētu izmantot aprēķinos vai ciparu operācijās. Programmās, kas strādā ar dažāda veida datiem, `float()` tiek izmantots, lai nodrošinātu datu konsekvenci, pārvēršot vērtības ciparu formātā.

Lai konvertētu Python virknes uz peldošajiem skaitļiem, izmantojiet `float()` un ievadiet derīgu virkni kā argumentu:

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

Jūs varat arī pārvērst citus skaitliskos tipus, piemēram, `int` un `complex`, par peldošo skaitli, izpildot tos caur `float()`.

Try/except bloki var tikt izmantoti, lai uztvertu **nekorektu lietotāja ievadi**, konvertējot virknes uz peldošajiem skaitļiem:

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

Iepriekš minētais kods ir **cilpa, kas liek lietotājam ievadīt skaitli**. Pēc tam tas mēģina pārvērst šo vērtību par peldošo skaitli. Try blokā `float(user_input)` ir paredzēts, lai pārvērstu lietotāja ievadīto virkni par peldošo skaitli. Ja pārvēršana ir veiksmīga, skaitlis tiek saglabāts zem `float_value` un atgriezts. Pēc tam `break` izteikums pārtrauc cilpu un turpina programmu.

Ja, pārveidojot virkni par float, rodas **ValueError**, tiek izpildīts kods except blokā. Tas var notikt, ja lietotājs ievada vērtību, kuru nevar pārveidot par float, piemēram, burtu. Šajā gadījumā tiek parādīts ziņojums, ka ievade ir nederīga, un cilpa atkārtoti pieprasa derīgu ievadi.

## Kā pārvērst Python virknes par peldošajiem skaitļiem ar NumPy

Ja vēlaties pārvērst Python virkni par peldošo skaitli ar **NumPy**, varat izmantot funkciju `numpy.float64()`. Tā sniegs jums 64 bitu peldošo skaitli.

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

Vispirms jums **jāimportē NumPy savā skriptā**, ja tas vēl nav instalēts. Pēc tam varat izmantot NumPy, lai piemērotu funkciju `numpy.float64()` virknei `string_value`, lai to pārvērstu 64 bitu peldošā skaitlī.

## Kā lietot str()

Ja, no otras puses, vēlaties pārvērst float par string, varat izmantot funkciju `str()`. Šī funkcija **pārvērš citas vērtības par string**.

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

Iepriekš minētajā piemērā float vērtība `3.1416` tiek konvertēta uz virkni `"3.1416"`, izmantojot `str()`.

`str()` ir noderīgs arī vairāku float vērtību savienošanai ar f-stringiem ( Python string formāts).

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

Ņemiet vērā, ka, konvertējot peldošos skaitļus uz virkni ar `str()`, rezultātā iegūtā virkne tiks attēlota kā teksts un vairs nebūs pieejama skaitliskajiem aprēķiniem vai matemātiskajām darbībām. Lai to izmantotu aprēķinos, jums būs jāpārvērš to atpakaļ skaitliskā formā (piemēram, peldošais skaitlis).

Tip Lasiet par citiem konvertēšanas veidiem mūsu digitālajā ceļvedī. Mēs izskaidrojam, kā konvertēt [Python virknes uz sarakstiem](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-virknu-parveidosana-sarakstos/) un [Python virknes uz datetime objektiem](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/parverst-virknes-datetime-python/).


This is a markdown version of: [https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-virknu-konvertesana-uz-peldosajiem-skaitliem/](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-virknu-konvertesana-uz-peldosajiem-skaitliem/) for AI/LLM consumption.