Kā pārvērst Python virknes par peldošajiem skaitļiem
Python virknes pārveidošana par float var palīdzēt izvairīties no kļūdām, kas rodas, iekļaujot aritmētiskās darbībās neciparu virknes.
Kāda veida Python virknes var konvertēt uz peldošajiem skaitļiem?
Ja vēlaties konvertēt Python virkni uz float, virknei ir jābūt derīgai skaitliskai reprezentācijai kā peldošā punkta vērtībai. Tas nozīmē, ka tā var saturēt skaitļus decimāla formātā, kas ietver decimāla punktus un zinātnisko pierakstu (piemēram, "3.14" vai "2.7e-3"). Tomēr tā nedrīkst saturēt papildu rakstzīmes, atstarpes vai rakstzīmes, kas neatspoguļo skaitliskas vērtības. Ja tā ir, konvertēšana nedarbosies.
String–float konvertēšana ir pamata funkcija, kas ir iekļauta visās Python versijās. Tomēr dažās versijās var būt nelielas atšķirības dažādu metožu un funkciju darbībā. Pievērsiet uzmanību kļūdām, kas var rasties konvertēšanas laikā. Piemēram, ievadot string, kas neatspoguļo derīgu skaitli, radīsies kļūda. Un īpašas vērtības, piemēram, NaN (nav skaitlis) un Infinity, nevar konvertēt uz float. Tas nozīmē, ka attīstītājiem, kas strādā ar konvertēšanu, ir jāspēj atbilstoši rīkoties ar kļūdām. Viena no iespējām to izdarīt ir izmantot try/except blokus, lai uztvertu kļūdas un reaģētu uz tām.
Kā konvertēt Python virknes ar float()
float() funkcija ir iebūvēta Python metode, kas pārvērš virknes par peldošajiem skaitļiem. To bieži izmanto, lai mainītu lietotāja ievadītos virknes uz ciparu formātu, lai ievadītos datus varētu izmantot aprēķinos vai ciparu operācijās. Programmās, kas strādā ar dažāda veida datiem, float() tiek izmantots, lai nodrošinātu datu konsekvenci, pārvēršot vērtības ciparu formātā.
Lai konvertētu Python virknes uz peldošajiem skaitļiem, izmantojiet float() un ievadiet derīgu virkni kā argumentu:
str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416pythonJūs varat arī pārvērst citus skaitliskos tipus, piemēram, int un complex, par peldošo skaitli, izpildot tos caur float().
Try/except bloki var tikt izmantoti, lai uztvertu nekorektu lietotāja ievadi, konvertējot virknes uz peldošajiem skaitļiem:
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 inputpythonIepriekš minētais kods ir cilpa, kas liek lietotājam ievadīt skaitli. Pēc tam tas mēģina pārvērst šo vērtību par peldošo skaitli. Try blokā float(user_input) ir paredzēts, lai pārvērstu lietotāja ievadīto virkni par peldošo skaitli. Ja pārvēršana ir veiksmīga, skaitlis tiek saglabāts zem float_value un atgriezts. Pēc tam break izteikums pārtrauc cilpu un turpina programmu.
Ja, pārveidojot virkni par float, rodas ValueError, tiek izpildīts kods except blokā. Tas var notikt, ja lietotājs ievada vērtību, kuru nevar pārveidot par float, piemēram, burtu. Šajā gadījumā tiek parādīts ziņojums, ka ievade ir nederīga, un cilpa atkārtoti pieprasa derīgu ievadi.
Kā pārvērst Python virknes par peldošajiem skaitļiem ar NumPy
Ja vēlaties pārvērst Python virkni par peldošo skaitli ar NumPy, varat izmantot funkciju numpy.float64(). Tā sniegs jums 64 bitu peldošo skaitli.
import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416pythonVispirms jums jāimportē NumPy savā skriptā, ja tas vēl nav instalēts. Pēc tam varat izmantot NumPy, lai piemērotu funkciju numpy.float64() virknei string_value, lai to pārvērstu 64 bitu peldošā skaitlī.
Kā lietot str()
Ja, no otras puses, vēlaties pārvērst float par string, varat izmantot funkciju str(). Šī funkcija pārvērš citas vērtības par string.
float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"pythonIepriekš minētajā piemērā float vērtība 3.1416 tiek konvertēta uz virkni "3.1416", izmantojot str().
str() ir noderīgs arī vairāku float vērtību savienošanai ar f-stringiem ( Python string formāts).
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.6180pythonŅemiet vērā, ka, konvertējot peldošos skaitļus uz virkni ar str(), rezultātā iegūtā virkne tiks attēlota kā teksts un vairs nebūs pieejama skaitliskajiem aprēķiniem vai matemātiskajām darbībām. Lai to izmantotu aprēķinos, jums būs jāpārvērš to atpakaļ skaitliskā formā (piemēram, peldošais skaitlis).
Lasiet par citiem konvertēšanas veidiem mūsu digitālajā ceļvedī. Mēs izskaidrojam, kā konvertēt Python virknes uz sarakstiem un Python virknes uz datetime objektiem.