# Kaip konvertuoti Python stygas į plaukiojančius skaičius

Python stygos konvertavimas į plūduriuojantį skaičių gali padėti išvengti klaidų, atsirandančių dėl ne skaitmeninių stygų įtraukimo į aritmetines operacijas.

## Kokios Python eilutės gali būti konvertuojamos į plaukiojančiojo kablelio skaičius?

Jei norite konvertuoti Python eilutę į plaukiojančiojo kablelio skaičių, eilutė turi turėti **galiojantį skaitinį atvaizdą kaip plaukiojančiojo kablelio vertę**. Tai reiškia, kad ji gali turėti skaičius dešimtainiu formatu, įskaitant dešimtainius taškus ir mokslinę notaciją (pavyzdžiui, `"3.14"` arba `"2.7e-3"`). Tačiau ji negali turėti papildomų simbolių, tarpų ar simbolių, kurie neatspindi skaitinių verčių. Jei taip yra, konvertavimas neveiks.

String–float konversija yra pagrindinė funkcija ir yra įtraukta į kiekvieną Python versiją. Tačiau gali būti nedidelių skirtumų, kaip kai kurie metodai ir funkcijos veikia skirtingose versijose. Būtinai atkreipkite dėmesį į klaidas, kurios gali atsirasti konvertavimo metu. Pavyzdžiui, įvedus stygą, kuri neatitinka galiojančio skaičiaus, atsiras klaida. O specialios reikšmės, pvz., `NaN` (ne skaičius) ir `Infinity`, negali būti konvertuojamos į plaukiojančius skaičius. Tai reiškia, kad su konvertavimu dirbantys programuotojai turi gebėti tinkamai elgtis su klaidomis. Vienas iš būdų tai padaryti – naudoti **try/except blokus**, kad būtų galima aptikti klaidas ir į jas reaguoti.

## Kaip konvertuoti Python stygas naudojant float()

`float()` funkcija yra **įdiegta Python metodika**, kuri konvertuoja stygas į plaukiojančius skaičius. Ji dažnai naudojama keisti vartotojo įvestis iš stygų į skaitmeninius formatus, kad įvestis galėtų būti naudojama skaičiavimuose ar skaitmeninėse operacijose. Programose, kurios dirba su įvairių rūšių duomenimis, `float()` naudojama užtikrinti, kad duomenys išliktų nuoseklūs, konvertuojant vertes į skaitmeninį formatą.

Norėdami konvertuoti Python stygas į plaukiojančius skaičius, naudokite `float()` ir įveskite galiojančią stygą kaip argumentą:

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

Taip pat galite konvertuoti kitus skaitmeninius tipus, pvz., `int` ir `complex`, į plaukiojančiojo kablelio skaičių, juos konvertuodami į `float()`.

Try/except blokai gali būti naudojami **neteisingų vartotojo įvesties duomenų** aptikimui konvertuojant eilutes į plaukiojančiojo kablelio skaičius:

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

Pateiktas kodas yra **kilpa, kuri ragina vartotojus įvesti skaičių**. Tada ji bando konvertuoti tą vertę į plaukiojantį skaičių. Try bloke `float(user_input)` reiškia, kad vartotojo įvestas styginis yra konvertuojamas į plaukiojantį skaičių. Jei konvertavimas pavyko, skaičius yra išsaugomas po `float_value` ir grąžinamas. Tada `break` teiginys užbaigia kilpą ir programa tęsiasi toliau.

Jei konvertuojant eilutę į plūduriuojantį skaičių įvyksta **ValueError**, vykdomas kodo except bloke esantis kodas. Tai gali atsitikti, jei vartotojas įveda vertę, kurios negalima konvertuoti į plūduriuojantį skaičių, pvz., raidę. Tokiu atveju rodomas pranešimas, kad įvestis yra neteisinga, ir kilpa vėl prašo įvesti teisingą įvestį.

## Kaip konvertuoti Python stygas į plaukiojančiojo kablelio skaičius naudojant NumPy

Jei norite konvertuoti Python eilutę į plūduriuojantį skaičių naudojant **NumPy**, galite naudoti funkciją `numpy.float64()`. Ji suteiks jums 64 bitų plūduriuojantį skaičių.

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

Pirmiausia turėsite **importuoti NumPy į savo scenarijų**, jei jis dar nėra įdiegtas. Tada galėsite naudoti NumPy, kad pritaikytumėte funkciją `numpy.float64()` prie eilutės `string_value` ir konvertuotumėte ją į 64 bitų slankųjį skaičių.

## Kaip naudoti str()

Jei, kita vertus, norite konvertuoti plūdurą į eilutę, galite naudoti funkciją `str()`. Ši funkcija **konvertuoja kitas reikšmes į eilutes**.

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

Pirmiau pateiktame pavyzdyje plūduriuojančiojo tipo reikšmė `3.1416` yra konvertuojama į eilutę `"3.1416"` naudojant `str()`.

`str()` taip pat naudinga sujungiant kelis plaukiojančiojo kablelio reikšmes su f-eilutėmis ( Python eilutės formatas).

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

Atkreipkite dėmesį, kad konvertuojant plaukiojančiojo kablelio skaičius į eilutes su `str()`, gauta eilutė bus pateikiama kaip tekstas ir nebegalės būti naudojama skaičiavimams ar matematinėms operacijoms. Norėdami ją naudoti skaičiavimuose, turėsite ją vėl paversti skaičiumi (pvz., plaukiojančiojo kablelio skaičiumi).

Tip Apie kitus konvertavimo būdus skaitykite mūsų skaitmeniniame vadove. Jame paaiškinama, kaip konvertuoti [ Python stygas į sąrašus](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/python-stygu-konvertavimas-i-sarasus/) ir [Python stygas į datetime objektus](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/konvertuoti-eilutes-i-datetime-python-kalba/).


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/python-stygu-konvertavimas-i-plaukiojanciojo-kablelio-skaicius/](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/python-stygu-konvertavimas-i-plaukiojanciojo-kablelio-skaicius/) for AI/LLM consumption.