Drop links or images here to add them to the editor.

Naast de gewone operatoren (+, -, *, /, %) heb je soms nood aan extra hulpmiddelen. Denk maar aan een vierkantswortel of aan goniometrische functies zoals sinus en cosinus. Daarvoor bestaan in C# kant-en-klare functies.

Een functie geeft één waarde terug

Een functie levert steeds één waarde op. Die waarde moet je opvangen, meestal in een variabele, anders gaat het resultaat verloren.

double num1, num2, max;

// Vraag de gebruiker om twee getallen
Console.Write("Voer het eerste getal in: ");
num1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Voer het tweede getal in: ");
num2 = Convert.ToDouble(Console.ReadLine());

// Gebruik Math.Max om het grootste getal te bepalen
max = Math.Max(num1, num2);

// Toon het resultaat
Console.WriteLine("Het grootste getal van " + num1 + " en " + num2 + " is: " + max);

Het resultaat van Math.Max(num1, num2) wordt hier in de variabele max bewaard. Pas daarna kan je het tonen of er verder mee rekenen.

De klasse Math

De functies voor getallen vind je in de klasse Math. Wat een klasse precies is, leer je later. Bekijk het voorlopig gewoon als de manier om aan deze functies te geraken: je schrijft Math. gevolgd door de naam van de functie.

In de tabel hieronder vind je een overzicht van een aantal beschikbare functies.

FunctieBetekenis
Math.Abs( )Bepaal de absolute waarde (zonder teken)
Math.Sqrt( )Vierkantswortel (Square Root)
Math.Pow( )Machtsverheffing
Math.Round( )Afronden van het resultaat
Math.Min( ), Math.Max( )Kleinste en grootste van 2 getallen bepalen
Math.Sin( ), Math.Cos( ), Math.Tan( ), Math.Atan( )Enkele van de meest gebruikte goniometrische functies (hoek in radialen)
Math.Log( ), Math.Exp( )Logaritmische functies
Math.Sign( )Bepaalt welk teken het getal heeft
ConstanteBetekenis
Math.PI3.14159265358979, de waarde van het getal π

Haakjes en parameters

Met uitzondering van Math.PI heeft elk van deze functies haakjes. PI is namelijk een constante, geen functie. Tussen de haakjes plaats je de waarden of variabelen waarop de bewerking moet gebeuren. Bij sommige functies volstaat één waarde, andere hebben er meerdere nodig.

Functie met parametersResultaat
Math.Abs(-123.45)123.45
Math.Sin(Math.PI / 2)1 (merk op dat de hoek in radialen wordt gegeven)
Math.Sqrt(2)1.4142135623731
Math.Max(-50, -25)-25
Math.Pow(2, 10)1024 (2 tot de macht 10)

De goniometrische functies werken met de hoek in radialen, niet in graden. Een rechte hoek van 90° is \(\frac{\pi}{2}\) radialen, dus Math.Sin(Math.PI / 2) geeft 1.

Afronden met Math.Round

De functie Math.Round( ) heeft wat extra uitleg nodig. Je kan ze met 2 of 3 parameters gebruiken.

Met twee parameters geef je de waarde en het aantal cijfers na de komma:

Math.Round(123.45, 1);   // 123.4

In dat geval gebruikt C# standaard de afrondingsmodus MidpointRounding.ToEven: bij een getal dat precies tussen twee waarden valt, rondt het af naar het dichtstbijzijnde even cijfer. Dat is de Amerikaanse manier van afronden.

Wil je afronden zoals we dat in België gewoon zijn (een 5 rondt altijd naar boven af), dan geef je MidpointRounding.AwayFromZero mee als derde parameter:

AfrondingResultaat
Math.Round(123.45, 1, MidpointRounding.ToEven)123.4
Math.Round(123.45, 1, MidpointRounding.AwayFromZero)123.5

Wil je een getal afronden op n cijfers (de afronding zelf is het doel), gebruik dan Math.Round met MidpointRounding.AwayFromZero, zodat een 5 naar boven afrondt zoals je het gewoon bent, bijvoorbeeld Math.Round(prijs, 2, MidpointRounding.AwayFromZero). Wil je een getal enkel netjes tonen met een vast aantal cijfers na de komma (bijvoorbeeld 12.50), dan gebruik je formattering met Fn, bijvoorbeeld $"{prijs:F2}".