# Hoe Python-strings omzetten naar floats

Door een Python-string om te zetten naar een float kunt u fouten voorkomen die ontstaan door het gebruik van niet-numerieke strings in rekenkundige bewerkingen.

## Welke Python-strings kunnen worden geconverteerd naar floats?

Als u een Python-string wilt converteren naar een float, moet de string een **geldige numerieke weergave** hebben **als een drijvende-kommagetal**. Dit betekent dat deze getallen in decimale notatie kan bevatten, inclusief decimale punten en wetenschappelijke notatie (zoals `"3.14"` of `"2.7e-3"`). De string mag echter geen extra tekens, spaties of tekens bevatten die geen numerieke waarden vertegenwoordigen. Als dat wel het geval is, zal de conversie niet werken.

String-float-conversie is een basisfunctie en is opgenomen in elke versie van Python. Er kunnen echter subtiele verschillen zijn in de manier waarop sommige methoden en functies in verschillende versies werken. Let goed op fouten die tijdens conversies kunnen optreden. Als u bijvoorbeeld een string invoert die geen geldig getal vertegenwoordigt, zal dit een foutmelding opleveren. Speciale waarden zoals `NaN` (Not a Number) en `Infinity` kunnen niet worden geconverteerd naar floats. Dat betekent dat ontwikkelaars die met conversies werken, fouten op de juiste manier moeten kunnen afhandelen. Een manier om dit te doen is door **try/except-blokken** te gebruiken om fouten op te vangen en erop te reageren.

## Hoe Python-strings converteren met float()

De functie `float()` is een **ingebouwde Python-methode** die strings omzet naar floats. Deze wordt vaak gebruikt om gebruikersinvoer van strings naar numerieke formaten om te zetten, zodat de invoer kan worden gebruikt in berekeningen of numerieke bewerkingen. In programma’s die met verschillende soorten gegevens werken, wordt `float()` gebruikt om ervoor te zorgen dat gegevens consistent blijven door waarden om te zetten naar een numeriek formaat.

Om Python-strings naar floats te converteren, gebruik je `float()` en voer je een geldige string in als argument:

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

Je kunt ook andere numerieke typen zoals `int` en `complex` omzetten in een drijvende-kommagetal door ze door `float()` te halen.

Try/except-blokken kunnen worden gebruikt om **ongeldige gebruikersinvoer** op te vangen bij het converteren van strings naar floats:

```python
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
```

De bovenstaande code is een **lus die gebruikers vraagt om een getal in te voeren**. Vervolgens wordt geprobeerd om die waarde om te zetten in een drijvende-kommagetal. In het try-blok is `float(user_input)` bedoeld om de door de gebruiker ingevoerde tekenreeks om te zetten in een drijvende-kommagetal. Als de conversie is gelukt, wordt het getal opgeslagen onder `float_value` en geretourneerd. De instructie `break` beëindigt vervolgens de lus en gaat verder met het programma.

Als er een **ValueError** optreedt bij het converteren van de string naar een float, wordt de code in het except-blok uitgevoerd. Dit kan gebeuren als de gebruiker een waarde invoert die niet naar een float kan worden geconverteerd, zoals een letter. In dat geval verschijnt er een bericht dat de invoer ongeldig is en vraagt de lus opnieuw om geldige invoer.

## Hoe Python-strings om te zetten naar floats met NumPy

Als je een Python-string met **NumPy** naar een float wilt converteren, kun je de functie `numpy.float64()` gebruiken. Deze geeft je een 64-bits drijvende-kommagetal.

```python
import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416
```

Eerst moet u **NumPy in uw script importeren** als dit nog niet is geïnstalleerd. Vervolgens kunt u NumPy gebruiken om de functie `numpy.float64()` toe te passen op de tekenreeks `string_value` om deze om te zetten in een 64-bits drijvende-kommagetal.

## Hoe str() te gebruiken

Als u daarentegen een float wilt omzetten in een string, kunt u de functie `str()` gebruiken. Deze functie **zet andere waarden om in strings**.

```python
float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"
```

In het bovenstaande voorbeeld wordt de float-waarde `3.1416` omgezet in de string `"3.1416"` met behulp van `str()`.

`str()` is ook handig voor het samenvoegen van meerdere float-waarden met f-strings (een Python-stringformaat).

```python
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
```

Houd er rekening mee dat wanneer u floats met `str()` omzet naar strings, de resulterende string wordt weergegeven als tekst en niet langer beschikbaar is voor numerieke berekeningen of wiskundige bewerkingen. Om deze in berekeningen te gebruiken, moet u deze weer omzetten naar een numerieke vorm (zoals een float).

Tip Lees meer over andere soorten conversies in onze digitale gids. We leggen uit hoe je [Python-strings naar lijsten](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-strings-omzetten-naar-lijsten/) en [Python-strings naar datetime-objecten](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/converteer-strings-naar-datum-en-tijd-in-python/) kunt converteren.


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-strings-omzetten-naar-floats/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-strings-omzetten-naar-floats/) for AI/LLM consumption.