# Kuidas teisendada Python-i stringid ujukomadeks

Pythoni stringi teisendamine ujukomaarvuks aitab vältida vigu, mis tekivad mitte-numbriliste stringide kasutamisel aritmeetilistes operatsioonides.

## Millised Python-stringid saab teisendada ujukomaarvudeks?

Kui soovite teisendada Python-stringi ujukomaarvuks, peab stringil olema **kehtiv numbriline esitus ujukomaarvuna**. See tähendab, et see võib sisaldada kümnendvormingus numbreid, sealhulgas kümnendkohti ja teaduslikku märkimisviisi (nt `"3.14"` või `"2.7e-3"`). Siiski ei tohi see sisaldada täiendavaid märke, tühikuid ega märke, mis ei esinda numbrilisi väärtusi. Kui see nii on, ei õnnestu teisendus.

String–float konverteerimine on põhiline funktsioon ja kuulub iga Python versiooni juurde. Siiski võivad mõned meetodid ja funktsioonid erinevates versioonides töötada veidi erinevalt. Pöörake tähelepanu vigadele, mis võivad teisendamise käigus tekkida. Näiteks tekitab kehtiva numbri mittesisaldava stringi sisestamine vea. Erilisi väärtusi, nagu `NaN` (ei ole number) ja `Infinity`, ei saa teisendada float-tüüpi väärtusteks. See tähendab, et teisendamisega tegelevad arendajad peavad oskama vigu asjakohaselt käsitleda. Üks viis selleks on kasutada **try/except-blokke** vigade tuvastamiseks ja nendele reageerimiseks.

## Kuidas teisendada Python-i stringe float() abil

Funktsioon `float()` on **sisseehitatud Python-meetod**, mis teisendab stringid ujukomadeks. Seda kasutatakse sageli kasutaja sisestuse teisendamiseks stringidest numbrilisteks formaatideks, et sisestust saaks kasutada arvutustes või numbrilistes operatsioonides. Mitmesuguste andmetega töötavates programmides kasutatakse `float()`, et tagada andmete järjepidevus, teisendades väärtused numbrilisse formaati.

Pythoni stringide teisendamiseks ujukomaarvudeks kasutage `float()` ja sisestage argumentina kehtiv string:

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

Võite teisendada ka muid numbrilisi tüüpe, nagu `int` ja `complex`, ujukomaarvuks, kasutades neid `float()` kaudu.

Try/except-blokke saab kasutada **kehtetute kasutaja sisestuste** tuvastamiseks, kui teisendatakse stringe ujukomaarvudeks:

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

Eespool toodud kood on **tsükkel, mis palub kasutajal sisestada number**. Seejärel üritab see väärtus teisendada ujukomaarvuks. Try-plokis on `float(user_input)` mõeldud kasutaja sisestatud stringi teisendamiseks ujukomaarvuks. Kui teisendus õnnestus, salvestatakse number `float_value` alla ja tagastatakse. Seejärel lõpetab `break` tsükli ja programm jätkub.

Kui stringi teisendamisel float-tüüpi muutujaks tekib **ValueError**, täidetakse except-ploki kood. See võib juhtuda, kui kasutaja sisestab väärtuse, mida ei saa teisendada float-tüüpi muutujaks, näiteks tähe. Sel juhul kuvatakse sõnum, et sisestus on kehtetu, ja tsükkel küsib uuesti kehtivat sisestust.

## Kuidas teisendada Python-i stringid ujukomadeks NumPy abil

Kui soovite Python-stringi **NumPy** abil ujukomaarvuks teisendada, võite kasutada funktsiooni `numpy.float64()`. See annab teile 64-bitise ujukomaarvu.

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

Esmalt peate **oma skripti importima NumPy,** kui see pole veel installitud. Seejärel saate NumPy abil rakendada funktsiooni `numpy.float64()` stringile `string_value`, et teisendada see 64-bitiseks ujukomaarvuks.

## Kuidas kasutada str()

Kui aga soovite teisendada ujukomaarvu stringiks, võite kasutada funktsiooni `str()`. See funktsioon **teisendab muud väärtused stringideks**.

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

Eespool toodud näites teisendatakse ujukomaarv `3.1416` stringiks `"3.1416"`, kasutades `str()`.

`str()` on kasulik ka mitme ujukomaarvuga väärtuse ühendamiseks f-stringidega ( Pythoni stringi formaat).

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

Pange tähele, et kui teisendate ujukomaarvud stringideks `str()` abil, esitatakse tulemuseks saadud string tekstina ja seda ei saa enam kasutada numbrilistes arvutustes ega matemaatilistes operatsioonides. Selle kasutamiseks arvutustes peate selle tagasi teisendama numbriliseks vormiks (nagu ujukomaarv).

Tip Loe meie digitaalsest juhendist teiste teisenduste kohta. Selgitame, kuidas teisendada [ Pythoni stringid nimekirjadeks](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/pythoni-stringide-teisendamine-nimekirjadeks/) ja [Pythoni stringid datetime-objektideks](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/muuda-stringid-pythonis-datetimeiks/).


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/pythoni-stringide-teisendamine-ujukomaarvudeks/](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/pythoni-stringide-teisendamine-ujukomaarvudeks/) for AI/LLM consumption.