Python String Float
Python stygos konvertavimas į plūduriuojantį skaičių gali padėti išvengti klaidų, atsirandančių dėl ne skaitmeninių stygų įtraukimo į aritmetines operacijas.
Kokios Python eilutės gali būti konvertuojamos į plaukiojančiojo kablelio skaičius?
Jei norite konvertuoti Python eilutę į plaukiojančiojo kablelio skaičių, eilutė turi turėti galiojantį skaitinį atvaizdą kaip plaukiojančiojo kablelio vertę. Tai reiškia, kad ji gali turėti skaičius dešimtainiu formatu, įskaitant dešimtainius taškus ir mokslinę notaciją (pavyzdžiui, "3.14" arba "2.7e-3"). Tačiau ji negali turėti papildomų simbolių, tarpų ar simbolių, kurie neatspindi skaitinių verčių. Jei taip yra, konvertavimas neveiks.
String–float konversija yra pagrindinė funkcija ir yra įtraukta į kiekvieną Python versiją. Tačiau gali būti nedidelių skirtumų, kaip kai kurie metodai ir funkcijos veikia skirtingose versijose. Būtinai atkreipkite dėmesį į klaidas, kurios gali atsirasti konvertavimo metu. Pavyzdžiui, įvedus stygą, kuri neatitinka galiojančio skaičiaus, atsiras klaida. O specialios reikšmės, pvz., NaN (ne skaičius) ir Infinity, negali būti konvertuojamos į plaukiojančius skaičius. Tai reiškia, kad su konvertavimu dirbantys programuotojai 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 konvertuoti Python stygas naudojant float()
float() funkcija yra įdiegta Python metodika, kuri konvertuoja stygas į plaukiojančius skaičius. Ji dažnai naudojama keisti vartotojo įvestis iš stygų į skaitmeninius formatus, kad įvestis galėtų būti naudojama skaičiavimuose ar skaitmeninėse operacijose. Programose, kurios dirba su įvairių rūšių duomenimis, float() naudojama užtikrinti, kad duomenys išliktų nuoseklūs, konvertuojant vertes į skaitmeninį formatą.
Norėdami konvertuoti Python stygas į plaukiojančius skaičius, naudokite float() ir įveskite galiojančią stygą kaip argumentą:
str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416pythonTaip pat galite konvertuoti kitus skaitmeninius tipus, pvz., int ir complex, į plaukiojančiojo kablelio skaičių, juos konvertuodami į float().
Try/except blokai gali būti naudojami neteisingų vartotojo įvesties duomenų aptikimui konvertuojant eilutes į plaukiojančiojo 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 inputpythonPateiktas kodas yra kilpa, kuri ragina vartotojus įvesti skaičių. Tada ji bando konvertuoti tą vertę į plaukiojantį skaičių. Try bloke float(user_input) reiškia, kad vartotojo įvestas styginis yra konvertuojamas į plaukiojantį skaičių. Jei konvertavimas pavyko, skaičius yra išsaugomas po float_value ir grąžinamas. Tada break teiginys užbaigia kilpą ir programa tęsiasi toliau.
Jei konvertuojant eilutę į plūduriuojantį skaičių įvyksta ValueError, vykdomas kodo except bloke esantis kodas. Tai gali atsitikti, jei vartotojas įveda vertę, kurios negalima konvertuoti į plūduriuojantį skaičių, pvz., raidę. Tokiu atveju rodomas pranešimas, kad įvestis yra neteisinga, ir kilpa vėl prašo įvesti teisingą įvestį.
Kaip konvertuoti Python stygas į plaukiojančiojo kablelio skaičius naudojant NumPy
Jei norite konvertuoti Python eilutę į plūduriuojantį skaičių naudojant NumPy, galite naudoti funkciją numpy.float64(). Ji suteiks jums 64 bitų plūduriuojantį skaičių.
import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416pythonPirmiausia turėsite importuoti NumPy į savo scenarijų, jei jis dar nėra įdiegtas. Tada galėsite naudoti NumPy, kad pritaikytumėte funkciją numpy.float64() prie eilutės string_value ir konvertuotumėte ją į 64 bitų slankųjį skaičių.
Kaip naudoti str()
Jei, kita vertus, norite konvertuoti plūdurą į eilutę, galite naudoti funkciją str(). Ši funkcija konvertuoja kitas reikšmes į eilutes.
float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"pythonPirmiau pateiktame pavyzdyje plūduriuojančiojo tipo reikšmė 3.1416 yra konvertuojama į eilutę "3.1416" naudojant str().
str() taip pat naudinga sujungiant kelis plaukiojančiojo 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.6180pythonAtkreipkite dėmesį, kad konvertuojant plaukiojančiojo kablelio skaičius į eilutes su str(), gauta eilutė bus pateikiama kaip tekstas ir nebegalės būti naudojama skaičiavimams ar matematinėms operacijoms. Norėdami ją naudoti skaičiavimuose, turėsite ją vėl paversti skaičiumi (pvz., plaukiojančiojo kablelio skaičiumi).
Apie kitus konvertavimo būdus skaitykite mūsų skaitmeniniame vadove. Jame paaiškinama, kaip konvertuoti Python stygas į sąrašus ir Python stygas į datetime objektus.