Python-merk­ki­jo­non muun­ta­mi­nen float-tyyp­pi­sek­si voi auttaa vält­tä­mään virheitä, jotka johtuvat ei-nu­mee­ris­ten merk­ki­jo­no­jen si­säl­lyt­tä­mi­ses­tä arit­meet­ti­siin ope­raa­tioi­hin.

Millaiset Python-merk­ki­jo­not voidaan muuntaa float-tyyp­pi­sik­si?

Jos haluat muuntaa Python-merk­ki­jo­non float-tyyp­pi­sek­si, merk­ki­jo­nol­la on oltava kel­vol­li­nen nu­mee­ri­nen esitys muodossa, joka on kelluva de­si­maa­liar­vo. Tämä tar­koit­taa, että se voi sisältää de­si­maa­li­muo­dos­sa olevia lukuja, mukaan lukien de­si­maa­li­pis­teet ja tie­teel­li­nen mer­kin­tä­ta­pa (kuten "3.14" tai "2.7e-3"). Se ei kui­ten­kaan voi sisältää yli­mää­räi­siä merkkejä, vä­li­lyön­te­jä tai merkkejä, jotka eivät edusta nu­mee­ri­sia arvoja. Jos se sisältää, muunnos ei onnistu.

Merk­ki­jo­no-kelluva-muunnos on pe­rus­toi­min­to, joka sisältyy kaikkiin Python-ver­sioi­hin. Joidenkin me­ne­tel­mien ja toi­min­to­jen toi­min­nas­sa voi kuitenkin olla hienoisia eroja eri ver­siois­sa. Pidä silmällä muun­nok­sis­sa mah­dol­li­ses­ti ilmeneviä virheitä. Esi­mer­kik­si merk­ki­jo­non syöt­tä­mi­nen, joka ei edusta kel­vol­lis­ta lukua, aiheuttaa virheen. Erityisiä arvoja, kuten NaN (ei luku) ja Infinity, ei voi muuntaa float-tyyp­pi­sik­si. Tämä tar­koit­taa, että muun­nok­sia käyt­tä­vien ke­hit­tä­jien on osattava käsitellä virheitä asian­mu­kai­ses­ti. Yksi tapa tehdä tämä on käyttää try/except-lohkoja virheiden ha­vait­se­mi­seen ja niihin rea­goi­mi­seen.

Kuinka muuntaa Python-merk­ki­jo­no­ja float()-funk­tiol­la

float() on si­sään­ra­ken­net­tu Python-menetelmä, joka muuntaa merk­ki­jo­not liu­ku­lu­kuik­si. Sitä käytetään usein muut­ta­maan käyttäjän syöttämät merk­ki­jo­not nu­mee­ri­sik­si, jotta syö­tet­ty­jä tietoja voidaan käyttää las­kel­mis­sa tai nu­mee­ri­sis­sa ope­raa­tiois­sa. Oh­jel­mis­sa, jotka kä­sit­te­le­vät erilaisia tietoja, float() käytetään var­mis­ta­maan tietojen yh­den­mu­kai­suus muun­ta­mal­la arvot nu­mee­ri­seen muotoon.

Python-merk­ki­jo­no­jen muun­ta­mi­sek­si float-tyyp­pi­sik­si käytä float() ja syötä kel­vol­li­nen merk­ki­jo­no ar­gu­ment­ti­na:

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

Voit myös muuntaa muut nu­mee­ri­set tyypit, kuten int ja complex, liu­ku­lu­vuk­si suo­rit­ta­mal­la ne float() kautta.

Try/except-lohkoja voidaan käyttää vir­heel­lis­ten käyttäjän syöt­tei­den ha­vait­se­mi­seen, kun merk­ki­jo­no­ja muun­ne­taan liu­ku­lu­kuik­si:

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

Yllä oleva koodi on silmukka, joka kehottaa käyttäjiä syöt­tä­mään numeron. Sen jälkeen se yrittää muuntaa kyseisen arvon liu­ku­lu­vuk­si. Try-lohkossa float(user_input) tar­koit­taa käyttäjän syöttämän merk­ki­jo­non muun­ta­mis­ta liu­ku­lu­vuk­si. Jos muunnos onnistui, numero tal­len­ne­taan kohtaan float_value ja pa­lau­te­taan. Sitten lause break lopettaa silmukan ja jatkaa ohjelman suo­rit­ta­mis­ta.

Jos merk­ki­jo­non muun­ta­mi­ses­sa float-tyyp­pi­sek­si syntyy Va­lu­eEr­ror-virhe, except-lohkon koodi suo­ri­te­taan. Tämä voi tapahtua, jos käyttäjä syöttää arvon, jota ei voi muuntaa float-tyyp­pi­sek­si, kuten kirjaimen. Tällöin näyttöön tulee viesti, että syöttö on vir­heel­li­nen, ja silmukka pyytää syöt­tä­mään kel­vol­li­sen arvon uudelleen.

Kuinka muuntaa Python-merk­ki­jo­not float-tyyp­pi­sik­si NumPy:n avulla

Jos haluat muuntaa Python-merk­ki­jo­non float-tyyp­pi­sek­si **NumPy:**llä, voit käyttää funktiota numpy.float64(). Se antaa sinulle 64-bittisen liu­ku­lu­vun.

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

Ensin sinun on tuotava NumPy sk­rip­tii­si, jos se ei ole vielä asennettu. Sen jälkeen voit käyttää NumPyä so­vel­ta­maan funktiota numpy.float64() merk­ki­jo­noon string_value muun­taak­se­si sen 64-bit­ti­sek­si liu­ku­lu­vuk­si.

Kuinka käyttää str()-funktiota

Jos taas haluat muuntaa float-tyyppisen arvon merk­ki­jo­nok­si, voit käyttää str(). Tämä funktio muuntaa muut arvot merk­ki­jo­noik­si.

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

Yllä olevassa esi­mer­kis­sä float-arvo 3.1416 muun­ne­taan merk­ki­jo­nok­si "3.1416" käyt­tä­mäl­lä str().

str() on hyö­dyl­li­nen myös useiden float-arvojen yh­dis­tä­mi­ses­sä f-merk­ki­jo­noil­la ( Python-merk­ki­jo­no­muo­to).

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

Huomaa, että kun muunnat float-tyyppisiä muuttujia merk­ki­jo­noik­si str(), tuloksena oleva merk­ki­jo­no esitetään tekstinä eikä sitä voi enää käyttää nu­mee­ri­sis­sa las­kel­mis­sa tai ma­te­maat­ti­sis­sa ope­raa­tiois­sa. Jos haluat käyttää sitä las­kel­mis­sa, sinun on muu­tet­ta­va se takaisin nu­mee­ri­seen muotoon (kuten float-tyyp­pi­sek­si muut­tu­jak­si).

Vinkki

Lue muista muun­nok­sis­ta di­gi­taa­li­ses­ta op­paas­tam­me. Selitämme, kuinka Python-merk­ki­jo­not muun­ne­taan listoiksi ja Python-merk­ki­jo­not datetime-ob­jek­teik­si.

Siirry pää­va­lik­koon