- Hoofd Technologie
- Auteur
In Python kunnen we met behulp van typeconversiefuncties het ene gegevenstype in het andere omzetten. Dit artikel richt zich op het omzetten van een tekenreeks in een drijvende-kommagetal.
Python biedt hiervoor de functie float(), die een tekenreeksweergave van een getal omzet in een float. Op dezelfde manier kan de functie int() een tekenreeks omzetten in een geheel getal.
Je kunt verschillende methoden gebruiken om een tekenreeks om te zetten in een drijvende-kommagetal, waaronder:
In Python kunnen we een tekenreeks omzetten naar een drijvende-kommagetal met behulp van de ingebouwde functie `float()`, die het gegevenstype van de opgegeven tekenreeks wijzigt. Deze ingebouwde functie wordt gebruikt om een object om te zetten in een drijvende-kommagetal. Intern roept de functie `float()` de methode `__float__()` van het object aan om de conversie uit te voeren. Op deze manier kun je eenvoudig een tekenreeks omzetten naar een drijvende-kommagetal.
Voorbeeld:
value = “45.67”# Een tekenreeks omzetten naar een drijvende-kommagetal met float()
num = float(value)print(num)
print(type(num))
Om een tekenreeks om te zetten naar een drijvende-kommagetal en daarbij een vast aantal decimalen te garanderen, kun je float() combineren met tekenreeksopmaak.
Voorbeeld
num_str = “74.9823456”
decimal_places = 3# Converteer tekenreeks naar float
float_value = float(num_str)# Opmaak met een specifiek aantal decimalen
formatted_float = “{:.{}f}”.format(float_value, decimal_places)
print(formatted_float)De bovenstaande methode zorgt ervoor dat het float-getal wordt afgerond op het gewenste aantal decimalen.
NumPy biedt het gegevenstype numpy.float64, waarmee je een tekenreeks kunt omzetten naar een float. Deze methode is handig bij numerieke berekeningen en grote datasets, aangezien NumPy efficiënte gegevensverwerking biedt.
Voorbeeld:
import numpy as np# Tekststring met een decimaal getal
num_str = “42.89”# Tekststring omzetten naar float met numpy.float64
float_value = np.float64(num_str)print(float_value)
print(type(float_value))
<class ‘numpy.float64’>
Uitleg:
NumPy importeren: De NumPy-module wordt geïmporteerd om toegang te krijgen tot de functionaliteiten ervan.
Tekenreeks omzetten naar float: De functie numpy.float64() wordt gebruikt om de tekenreeks “42.89” om te zetten in een drijvende-kommagetal.
Uitvoer en typecontrole: De omgezette waarde wordt weergegeven, samen met het gegevenstype, wat bevestigt dat het een numpy.float64-type is in plaats van een standaard Python-float.
Deze aanpak is met name handig bij het werken met arrays en wiskundige berekeningen in NumPy.
Wanneer je numerieke invoer van een gebruiker via de terminal ontvangt of gegevens uit een bestand leest, worden de waarden in eerste instantie opgeslagen als tekenreeksen. Om wiskundige bewerkingen zoals optellen, aftrekken of vermenigvuldigen uit te voeren, moet je ze expliciet converteren naar drijvende-kommagetallen met behulp van de functie float().
Voorbeeld:
# Gebruikersinvoer opvragen
value_1 = input(“Voer het eerste decimale getal in:\n”)value_1 = float(value_1)
value_2 = input(“Voer het tweede decimale getal in:\n”)
value_2 = float(value_2)
# Optellen
print(f“De som van {value_1} en {value_2} is {value_1 + value_2}”)De som wordt correct berekend omdat de invoerwaarden vóór de bewerking worden geconverteerd van tekenreeksen naar drijvende-kommagetallen.
Omgaan met ongeldige invoer met try-except
Om fouten te voorkomen wanneer een gebruiker ongeldige invoer opgeeft, wordt aanbevolen om een try-except-blok te gebruiken.
Voorbeeld met uitzonderingsafhandeling:
try:
num1 = float(input(“Voer het eerste drijvende-kommagetal in:\n”))num2 = float(input(“Voer het tweede drijvende-kommagetal in:\n”))
print(f“De som van {num1} en {num2} is {num1 + num2}”)
except ValueError:
print(“Ongeldige invoer! Voer alstublieft numerieke waarden in.”)Dit zorgt ervoor dat het programma niet crasht als de gebruiker niet-numerieke gegevens invoert.
Je kunt een drijvende-kommagetal omzetten in een tekenreeks met behulp van de str()-functie in Python. Dit is handig bij het samenvoegen van drijvende-kommagetallen als onderdeel van een zin of opgemaakte uitvoer.
Voorbeeld:
num1 = 15,75num2 = 8,42
num3 = 27,89
# str() gebruiken om drijvende-kommagetallen samen te voegen
print(f'Het combineren van {num1} en {num2} levert het volgende op: {str(num1) + str(num2)}')# Een door spaties gescheiden tekenreeks maken van drijvende-kommagetallen
print(f'Opgemaakte uitvoer: {str(num1)} {str(num2)} {str(num3)}‘)# join() gebruiken om een door streepjes gescheiden tekenreeks te maken
print(f'Door streepjes gescheiden waarden: {“ - ”.join([str(num1), str(num2), str(num3)])}’)In de eerste uitvoer worden num1 en num2 omgezet naar strings en direct samengevoegd. De tweede uitvoer presenteert de getallen als een door spaties gescheiden string, terwijl de derde join() gebruikt om een opgemaakte string met streepjes te maken.
Om efficiënt met verschillende gegevenstypen om te gaan, moet men weten hoe men in Python een string naar een float kan converteren. Bij het uitvoeren van string-specifieke bewerkingen, zoals samenvoegen of opgemaakte uitvoer, is het handig om een float naar een string om te zetten. Aan de andere kant kunnen we numerieke bewerkingen zoals optellen en vermenigvuldigen uitvoeren door een string naar een float om te zetten.
Bij het werken met enorme datasets stellen NumPy’s float64 en ingebouwde functies zoals float() en str() ons in staat om eenvoudig tussen datatypes te wisselen, afhankelijk van onze behoeften. Wanneer conversies correct worden afgehandeld, werken onze programma’s effectief en worden mogelijke typefouten voorkomen.
Als u op zoek bent naar krachtige dedicated servers met schaalbaarheid, maatwerk en onbeperkt dataverkeer, dan bent u bij BlueServers aan het juiste adres! Verbeter uw hostingervaring met een betrouwbare, dedicated omgeving die is afgestemd op uw zakelijke behoeften. Bezoek BlueServers.com om vandaag nog aan de slag te gaan!
Start for free and unlock high-performance infrastructure with instant setup.
Jouw mening helpt ons een betere service te bouwen.