Python virknes pār­vei­do­ša­na par float var palīdzēt iz­vai­rī­ties no kļūdām, kas rodas, iekļaujot arit­mē­tis­kās darbībās neciparu virknes.

Kāda veida Python virknes var konvertēt uz pel­do­ša­jiem skaitļiem?

Ja vēlaties konvertēt Python virkni uz float, virknei ir jābūt derīgai skait­lis­kai rep­re­zen­tā­ci­jai 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 zi­nāt­nis­ko pierakstu (piemēram, "3.14" vai "2.7e-3"). Tomēr tā nedrīkst saturēt papildu rakstzī­mes, atstarpes vai rakstzī­mes, kas ne­at­spo­gu­ļo skait­lis­kas vērtības. Ja tā ir, kon­ver­tē­ša­na ne­dar­bo­sies.

String–float kon­ver­tē­ša­na ir pamata funkcija, kas ir iekļauta visās Python versijās. Tomēr dažās versijās var būt nelielas at­šķi­rī­bas dažādu metožu un funkciju darbībā. Pie­vēr­siet uzmanību kļūdām, kas var rasties kon­ver­tē­ša­nas laikā. Piemēram, ievadot string, kas ne­at­spo­gu­ļ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 at­tīs­tī­tā­jiem, kas strādā ar kon­ver­tē­ša­nu, ir jāspēj at­bil­sto­š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 pel­do­ša­jiem 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 ope­rā­ci­jās. Prog­ram­mās, kas strādā ar dažāda veida datiem, float() tiek izmantots, lai no­dro­ši­nā­tu datu kon­sek­ven­ci, pārvēršot vērtības ciparu formātā.

Lai kon­ver­tē­tu Python virknes uz pel­do­ša­jiem skaitļiem, iz­man­to­jiet float() un ievadiet derīgu virkni kā argumentu:

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

Jūs varat arī pārvērst citus skait­lis­kos 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, kon­ver­tē­jot virknes uz pel­do­ša­jiem 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 input
python

Iepriekš minētais kods ir cilpa, kas liek lie­to­tā­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ār­vēr­ša­na 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ār­vei­do­jot virkni par float, rodas Va­lueEr­ror, 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 pel­do­ša­jiem 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.1416
python

Vispirms 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"
python

Iepriekš minētajā piemērā float vērtība 3.1416 tiek kon­ver­tē­ta uz virkni "3.1416", iz­man­to­jot str().

str() ir noderīgs arī vairāku float vērtību sa­vie­no­ša­nai 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.6180
python

Ņemiet vērā, ka, kon­ver­tē­jot peldošos skaitļus uz virkni ar str(), rezultātā iegūtā virkne tiks attēlota kā teksts un vairs nebūs pieejama skait­lis­ka­jiem ap­rē­ķi­niem vai ma­te­mā­tis­ka­jām darbībām. Lai to izmantotu aprēķinos, jums būs jāpārvērš to atpakaļ skait­lis­kā formā (piemēram, peldošais skaitlis).

Tip

Lasiet par citiem kon­ver­tē­ša­nas veidiem mūsu di­gi­tā­la­jā ceļvedī. Mēs iz­skaid­ro­jam, kā konvertēt Python virknes uz sa­rak­stiem un Python virknes uz datetime objektiem.

Go to Main Menu