Introductie
In dit artikel zullen we de float()
-functie van Python gebruiken om strings naar drijvende komma getallen te converteren. Daarnaast zullen we ook de str()
-functie van Python gebruiken om drijvende komma getallen naar strings om te zetten.
Het is belangrijk om de gegevenstypen correct om te zetten voordat ze worden gebruikt voor berekeningen en concatenaties om runtime-fouten te voorkomen.
Vereisten
Om deze handleiding te voltooien, heb je nodig:
- Bekendheid met het installeren van Python 3. En vertrouwdheid met coderen in Python. Hoe te coderen in Python 3-serie of het gebruik van VS Code voor Python.
Deze tutorial is getest met Python 3.9.6.
Het gebruik van de float()
-functie
We kunnen een string naar een float in Python converteren met behulp van de float()
-functie. Dit is een ingebouwde functie die wordt gebruikt om een object naar een zwevend kommagetal om te zetten. Intern roept de float()
-functie de __float__()
-functie van het gespecificeerde object aan.
Voorbeeld
Laten we eens kijken naar een voorbeeld van het omzetten van een string naar een float in Python:
input_1 = '10.5674'
input_1 = float(input_1)
print(type(input_1))
print('Float Value =', input_1)
Uitvoer:
<class 'float'>
Float Value = 10.5674
De stringwaarde van '10.5674'
is omgezet naar een floatwaarde van 10.5674
.
Waarom moeten we een string naar een float converteren?
Als we een zwevende kommagetallenwaarde van gebruikersinvoer via de terminal ontvangen of deze uit een bestand lezen, zijn het stringobjecten. We moeten ze expliciet naar float converteren zodat we noodzakelijke bewerkingen zoals optellen, vermenigvuldigen, enzovoort kunnen uitvoeren.
input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)
input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)
print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')
Opmerking: Als je niet bekend bent met het formatteren van strings met de f-prefix, lees dan f-strings in Python.
Laten we deze code uitvoeren en zwevende kommagetallen opgeven voor input_1
en input_2
:
Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69
De resulterende som van 10.234
en 2.456
is 12.69
.
Ideaal gezien zouden we een try-except
-blok moeten gebruiken om uitzonderingen op te vangen in het geval van ongeldige invoer van de gebruiker.
Het gebruik van de str()
-functie
We kunnen ook een floating point getal converteren naar een string met behulp van de str()
-functie. Dit kan nodig zijn in situaties waar we floating point waarden willen concatenaren.
Voorbeeld
Laten we eens kijken naar een voorbeeld:
input_1 = 10.23
input_2 = 20.34
input_3 = 30.45
# met f-string vanaf Python 3.6+, verander naar format() voor oudere versies
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')
Laten we deze code uitvoeren:
Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45
Het samenvoegen van 10.23
en 20.34
produceert de string '10.2320.34'
. Deze code produceert ook twee versies van door komma’s gescheiden waarden (CSV).
Als we het floating point getal niet naar een string converteren in het bovenstaande programma, zal de join()
-functie een uitzondering veroorzaken. Ook zullen we niet in staat zijn om de +
-operator te gebruiken voor concatenatie, omdat het de floating point getallen zal optellen.
Conclusie
Je kunt het volledige Python-script en meer Python-voorbeelden bekijken op onze GitHub-opslagplaats.
Referenties:
Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float