Ce qui suit produit l'erreur ci-dessous:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
Le type de retour double
n'est pas un int
, tel que défini par la méthode calc_ranks
. Comment arrondir/convertir en int
?
Arrondissez-le en utilisant la méthode round()
:
int calc_ranks(ranks) {
double multiplier = .5;
return (multiplier * ranks).round();
}
Vous pouvez simplement utiliser toInt () pour convertir un num
en int
.
int calc_ranks(ranks)
{
double multiplier = .5;
return (multiplier * ranks).toInt();
}
Notez que pour faire exactement la même chose, vous pouvez utiliser Opérateur de division tronquée :
int calc_ranks(ranks) => ranks ~/ 2;
Vous pouvez utiliser l'un des éléments suivants.
double d = 20.5;
int i = d.toInt(); // i = 20
int i = d.round(); // i = 21
int i = d.ceil(); // i = 21
int i = d.floor(); // i = 20