Het omzetten van typen (type conversion) is een veelvoorkomende taak in programmeren. In Dart kun je eenvoudig waarden van het ene type naar het andere omzetten. Hier is een uitleg voor beginners met voorbeelden van hoe je verschillende typen kunt omzetten.
Omzetten van String naar int
Stel dat je een getal hebt als een string en je wilt het omzetten naar een integer. Dit doe je met de int.parse() methode.
void main() {String leeftijdAlsString = '25';
int leeftijd = int.parse(leeftijdAlsString);
print(leeftijd); // Output: 25
}In dit voorbeeld wordt de string ’25’ omgezet naar het geheel getal 25.
Omzetten van String naar double
Net als bij int, kun je een string omzetten naar een double met de double.parse() methode.
void main() {
String prijsAlsString = '19.99';
double prijs = double.parse(prijsAlsString);
print(prijs); // Output: 19.99
}Hier wordt de string ‘19.99’ omgezet naar het decimale getal 19.99.
Omzetten van int naar String
Je kunt een integer omzetten naar een string met de toString() methode.
void main() {
int leeftijd = 25;
String leeftijdAlsString = leeftijd.toString();
print(leeftijdAlsString); // Output: '25'
}In dit geval wordt het geheel getal 25 omgezet naar de string ’25’.
Omzetten van double naar String
Net als bij int, kun je een double omzetten naar een string met de toString() methode.
void main() {
double prijs = 19.99;
String prijsAlsString = prijs.toString();
print(prijsAlsString); // Output: '19.99'
}Hier wordt het decimale getal 19.99 omgezet naar de string ‘19.99’.
Omzetten van int naar double
Soms wil je een geheel getal omzetten naar een decimaal getal. Dit kan eenvoudig door een cast uit te voeren.
void main() {
int aantal = 5;
double aantalAlsDouble = aantal.toDouble();
print(aantalAlsDouble); // Output: 5.0
}In dit voorbeeld wordt het geheel getal 5 omgezet naar het decimale getal 5.0.
Omzetten van double naar int
Wanneer je een double naar een int wilt omzetten, kun je de toInt() methode gebruiken. Let op, dit snijdt de decimale waarden af.
void main() {
double prijs = 19.99;
int prijsAlsInt = prijs.toInt();
print(prijsAlsInt); // Output: 19
}Hier wordt het decimale getal 19.99 omgezet naar het geheel getal 19, waarbij de decimale waarden worden afgekapt.
Omzetten van bool naar String
Een booleaanse waarde kan worden omgezet naar een string met de toString() methode.
void main() {
bool isActief = true;
String isActiefAlsString = isActief.toString();
print(isActiefAlsString); // Output: 'true'
}In dit voorbeeld wordt de booleaanse waarde true omgezet naar de string ’true’.
Omzetten van String naar bool
Hoewel Dart geen directe methode heeft om een string naar een bool om te zetten, kun je een simpele vergelijking gebruiken.
void main() {
String waarheidswaarde = 'true';
bool isWaar = waarheidswaarde == 'true';
print(isWaar); // Output: true
}Hier wordt de string ’true’ vergeleken en omgezet naar de booleaanse waarde true.
Afronden
Er zijn verschillende afrondmethoden. Hier zijn de belangrijkste functies:
round(): Rondt een double naar het dichtstbijzijnde int.ceil(): Rondt een double altijd naar boven af naar het dichtstbijzijnde int.floor(): Rondt een double altijd naar beneden af naar het dichtstbijzijnde int.truncate(): Verwijdert het decimale deel zonder afronding (snijdt af).
void main() {
double waarde = 3.6;
int afgerond = waarde.round();
print(afgerond); // Output: 4
}In dit voorbeeld wordt de waarde 3.6 naar 4 afgerond, omdat 4 dichterbij ligt dan 3.
void main() {
double waarde = 3.2;
int naarBoven = waarde.ceil();
print(naarBoven); // Output: 4
}Hier wordt de waarde 3.2 naar boven afgerond naar 4.
void main() {
double waarde = 3.8;
int naarBeneden = waarde.floor();
print(naarBeneden); // Output: 3
}In dit geval wordt de waarde 3.8 naar beneden afgerond naar 3.
void main() {
double waarde = 3.9;
int afgekapt = waarde.truncate();
print(afgekapt); // Output: 3
}Hier wordt de waarde 3.9 afgekapt naar 3, waarbij het decimale deel wordt verwijderd zonder afronding.
Dart nog meer functies voor numerieke manipulatie en wiskundige berekeningen. Hier zijn enkele van die functies:
abs(): Geeft de absolute waarde van een getal.clamp(num lowerLimit, num upperLimit): Beperkt een waarde tot binnen een gegeven bereik.toStringAsFixed(int fractionDigits): Converteert een getal naar een string met een vast aantal decimalen.toStringAsExponential([int fractionDigits]): Converteert een getal naar een string in exponentiële vorm.toStringAsPrecision(int precision): Converteert een getal naar een string met een bepaalde precisie.isNaN: Controleert of een getal “Not-a-Number” (NaN) is.isNegative: Controleert of een getal negatief is.isInfinite: Controleert of een getal oneindig is.sign: Geeft het teken van een getal (-1, 0, 1).remainder(num other): Geeft de rest van de deling door een ander getal.sqrt(): Geeft de vierkantswortel van een getal (via dedart:mathlibrary).pow(num base, num exponent): Verheft een basisgetal tot de macht van de exponent (via dedart:mathlibrary).