Python stygos kon­ver­ta­vi­mas į plū­du­riuo­jan­tį skaičių gali padėti išvengti klaidų, at­si­ran­dan­čių dėl ne skait­me­ni­nių stygų įtraukimo į arit­me­ti­nes ope­ra­ci­jas.

Kokios Python eilutės gali būti kon­ver­tuo­ja­mos į plau­kio­jan­čio­jo kablelio skaičius?

Jei norite kon­ver­tuo­ti Python eilutę į plau­kio­jan­čio­jo kablelio skaičių, eilutė turi turėti ga­lio­jan­tį skaitinį atvaizdą kaip plau­kio­jan­čio­jo kablelio vertę. Tai reiškia, kad ji gali turėti skaičius de­šim­tai­niu formatu, įskaitant de­šim­tai­nius taškus ir mokslinę notaciją (pa­vyz­džiui, "3.14" arba "2.7e-3"). Tačiau ji negali turėti papildomų simbolių, tarpų ar simbolių, kurie ne­at­spin­di skaitinių verčių. Jei taip yra, kon­ver­ta­vi­mas neveiks.

String–float kon­ver­si­ja yra pag­rin­di­nė funkcija ir yra įtraukta į kiekvieną Python versiją. Tačiau gali būti nedidelių skirtumų, kaip kai kurie metodai ir funkcijos veikia skir­tin­go­se versijose. Būtinai at­kreip­ki­te dėmesį į klaidas, kurios gali atsirasti kon­ver­ta­vi­mo metu. Pa­vyz­džiui, įvedus stygą, kuri ne­ati­tin­ka ga­lio­jan­čio skaičiaus, atsiras klaida. O spe­cia­lios reikšmės, pvz., NaN (ne skaičius) ir Infinity, negali būti kon­ver­tuo­ja­mos į plau­kio­jan­čius skaičius. Tai reiškia, kad su kon­ver­ta­vi­mu dirbantys prog­ra­muo­to­jai 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 kon­ver­tuo­ti Python stygas naudojant float()

float() funkcija yra įdiegta Python metodika, kuri kon­ver­tuo­ja stygas į plau­kio­jan­čius skaičius. Ji dažnai naudojama keisti vartotojo įvestis iš stygų į skait­me­ni­nius formatus, kad įvestis galėtų būti naudojama skai­čia­vi­muo­se ar skait­me­ni­nė­se ope­ra­ci­jo­se. Prog­ra­mo­se, kurios dirba su įvairių rūšių duo­me­ni­mis, float() naudojama už­tik­rin­ti, kad duomenys išliktų nuoseklūs, kon­ver­tuo­jant vertes į skait­me­ni­nį formatą.

Norėdami kon­ver­tuo­ti Python stygas į plau­kio­jan­čius skaičius, naudokite float() ir įveskite ga­lio­jan­čią stygą kaip argumentą:

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

Taip pat galite kon­ver­tuo­ti kitus skait­me­ni­nius tipus, pvz., int ir complex, į plau­kio­jan­čio­jo kablelio skaičių, juos kon­ver­tuo­da­mi į float().

Try/except blokai gali būti naudojami ne­tei­sin­gų vartotojo įvesties duomenų aptikimui kon­ver­tuo­jant eilutes į plau­kio­jan­čio­jo kablelio skaičius:

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

Pateiktas kodas yra kilpa, kuri ragina var­to­to­jus įvesti skaičių. Tada ji bando kon­ver­tuo­ti tą vertę į plau­kio­jan­tį skaičių. Try bloke float(user_input) reiškia, kad vartotojo įvestas styginis yra kon­ver­tuo­ja­mas į plau­kio­jan­tį skaičių. Jei kon­ver­ta­vi­mas pavyko, skaičius yra iš­sau­go­mas po float_value ir grą­ži­na­mas. Tada break teiginys užbaigia kilpą ir programa tęsiasi toliau.

Jei kon­ver­tuo­jant eilutę į plū­du­riuo­jan­tį skaičių įvyksta Va­lu­eEr­ror, vykdomas kodo except bloke esantis kodas. Tai gali atsitikti, jei var­to­to­jas įveda vertę, kurios negalima kon­ver­tuo­ti į plū­du­riuo­jan­tį skaičių, pvz., raidę. Tokiu atveju rodomas pra­ne­ši­mas, kad įvestis yra ne­tei­sin­ga, ir kilpa vėl prašo įvesti teisingą įvestį.

Kaip kon­ver­tuo­ti Python stygas į plau­kio­jan­čio­jo kablelio skaičius naudojant NumPy

Jei norite kon­ver­tuo­ti Python eilutę į plū­du­riuo­jan­tį skaičių naudojant NumPy, galite naudoti funkciją numpy.float64(). Ji suteiks jums 64 bitų plū­du­riuo­jan­tį skaičių.

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

Pir­miau­sia turėsite im­por­tuo­ti NumPy į savo scenarijų, jei jis dar nėra įdiegtas. Tada galėsite naudoti NumPy, kad pri­tai­ky­tu­mė­te funkciją numpy.float64() prie eilutės string_value ir kon­ver­tuo­tu­mė­te ją į 64 bitų slankųjį skaičių.

Kaip naudoti str()

Jei, kita vertus, norite kon­ver­tuo­ti plūdurą į eilutę, galite naudoti funkciją str(). Ši funkcija kon­ver­tuo­ja kitas reikšmes į eilutes.

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

Pirmiau pa­teik­ta­me pavyzdyje plū­du­riuo­jan­čio­jo tipo reikšmė 3.1416 yra kon­ver­tuo­ja­ma į eilutę "3.1416" naudojant str().

str() taip pat naudinga su­jun­giant kelis plau­kio­jan­čio­jo kablelio reikšmes su f-eilutėmis ( Python eilutės formatas).

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

At­kreip­ki­te dėmesį, kad kon­ver­tuo­jant plau­kio­jan­čio­jo kablelio skaičius į eilutes su str(), gauta eilutė bus pa­tei­kia­ma kaip tekstas ir nebegalės būti naudojama skai­čia­vi­mams ar ma­te­ma­ti­nėms ope­ra­ci­joms. Norėdami ją naudoti skai­čia­vi­muo­se, turėsite ją vėl paversti skaičiumi (pvz., plau­kio­jan­čio­jo kablelio skaičiumi).

Tip

Apie kitus kon­ver­ta­vi­mo būdus skai­ty­ki­te mūsų skait­me­ni­nia­me vadove. Jame pa­aiš­ki­na­ma, kaip kon­ver­tuo­ti Python stygas į sąrašus ir Python stygas į datetime objektus.

Go to Main Menu