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:
str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416pythonVõ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:
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 inputpythonEespool 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.
import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416pythonEsmalt 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.
float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"pythonEespool 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).
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.6180pythonPange 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).
Loe meie digitaalsest juhendist teiste teisenduste kohta. Selgitame, kuidas teisendada Pythoni stringid nimekirjadeks ja Pythoni stringid datetime-objektideks.