Wat is een float?

Het datatype float is een numeriek datatype dat gebruikt wordt om decimale waarden op te slaan. Het is handig wanneer je een getal met een fractie wilt opslaan, zoals bijvoorbeeld bij meetgegevens of percentages. Een float in C# biedt ongeveer zeven cijfers van precisie en gebruikt 32 bits voor opslag Bits in C#.

Om een float-waarde in te voeren, gebruik je de letter f achter het getal, anders zal C# het getal standaard als een double interpreteren.

Casus

Stel je ontwikkelt een applicatie voor een weerstation dat elke minuut temperatuurmetingen bijhoudt en deze opslaat om het geheugen efficiënt te gebruiken en de nauwkeurigheid van de gegevens te waarborgen.

Hoe zit een float in elkaar?

Een float is een goede keuze wanneer je voldoende hebt aan een nauwkeurigheid van zeven cijfers en niet veel geheugen wil verbruiken. In C# gebruiken floats minder geheugen dan doubles, wat nuttig kan zijn in situaties waar geheugenbeheer belangrijk is, zoals in mobiele applicaties of embedded systemen.

Casus

Stel je ontwikkelt een mobiele app die de temperatuur en vochtigheid van verschillende ruimtes in een huis monitort. De metingen vereisen geen hoge precisie, waardoor je voor elke waarde een float kunt gebruiken. Dit bespaart geheugen, wat de prestaties van de app op mobiele apparaten ten goede komt, terwijl je toch voldoende nauwkeurige gegevens krijgt.

Codevoorbeeld

float temperatuur = 23.5f;
float percentage = 78.2f;

Beperkingen van float

Float-waarden zijn minder nauwkeurig dan double—waarden, omdat ze minder bits gebruiken voor de opslag. Dit kan leiden tot afrondingsfouten bij berekeningen met meer dan zeven decimalen.

Afnemende nauwkeurigheid

De nauwkeurigheid van een float neemt verder af naarmate de waarde verder van nul ligt, omdat er minder ruimte overblijft voor de cijfers na de komma.

Voorbeeld beperking

// Definieer pi met float en double
float piFloat = 3.1415926535f; // Opgeslagen als een float
double piDouble = 3.1415926535; // Opgeslagen als een double (nauwkeuriger)
 
// Toon beide waarden
Console.WriteLine("Pi als float: " + piFloat);   // Beperkte precisie
Console.WriteLine("Pi als double: " + piDouble); // Hogere precisie
 
// Berekening die afhankelijk is van precisie
float cirkelOppervlakteFloat = piFloat / 100f;  // Gebruik van float
double cirkelOppervlakteDouble = piDouble / 100; // Gebruik van double
 
// Toon oppervlaktes
Console.WriteLine("Cirkeloppervlakte met float: " + cirkelOppervlakteFloat);
Console.WriteLine("Cirkeloppervlakte met double: " + cirkelOppervlakteDouble);

Resultaat De float geeft nu een minder nauwkeurig cirkel oppervlakte, doordat het eerder af moet ronden om binnen de zeven decimalen te passen.

Pi als float: 3.1415927
Pi als double: 3.1415926535
Cirkeloppervlakte met float: 0.03141593
Cirkeloppervlakte met double: 0.031415926535

Hoe gebruik je een float?

Je kunt een float gebruiken om allerlei soorten berekeningen uit te voeren, zoals optellen, aftrekken, vermenigvuldigen en delen. Houd echter rekening met mogelijke afrondingsfouten vanwege de beperkte precisie van float.

Casus

Stel je bouwt een applicatie om de gemiddelde snelheid van een auto te berekenen. De afstand en tijd worden als float-waarden opgeslagen, zodat je snelheden kunt berekenen met voldoende precisie zonder veel geheugen te verbruiken.

Mogelijke uitwerking van de casus

float afstand = 150.5f; // afstand in kilometers 
float tijd = 2.3f; // tijd in uren float 
gemiddeldeSnelheid = afstand / tijd; 
Console.WriteLine("De gemiddelde snelheid is: " + gemiddeldeSnelheid + " km/u");

Volgende stap: Oefeningen float