Следующее вызывает следующую ошибку:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
Возвращаемый тип double
не является a int
, как определено методом calc_ranks
. Как мне округлить / преобразовать в int
?
Следующее вызывает следующую ошибку:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
Возвращаемый тип double
не является a int
, как определено методом calc_ranks
. Как мне округлить / преобразовать в int
?
Ответы:
Округлите его, используя round()
метод:
int calc_ranks(ranks) {
double multiplier = .5;
return (multiplier * ranks).round();
}
(0.57 * 100).toInt()
решение 56
, так что, ребята, будьте осторожны.
Вы можете просто использовать toInt () для преобразования a num
в int
.
int calc_ranks(ranks)
{
double multiplier = .5;
return (multiplier * ranks).toInt();
}
Обратите внимание: чтобы сделать то же самое, вы можете использовать оператор деления усечения :
int calc_ranks(ranks) => ranks ~/ 2;
Вы можете использовать любое из следующего.
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
Dart round double to int
Используя round()
метод, мы можем получить целое число, наиболее близкое к двойному.
Например:
int num1 = (2.3).round();
// 2
int num2 = (2.5).round();
// 3
int num3 = (-2.3).round();
// -2
int num4 = (-2.5).round();
// -3
Вы также можете попробовать эти методы преобразовать double в int во Flutter
double x = 2.5;
int a = x.toInt();
int b = x.truncate();
int c = x.round();
int d = x.ceil();
int e = x.floor();
print(a); // 2
print(b); // 2
print(c); // 3
print(d); // 3
print(e); // 2
round
означает в Dart. Во-вторых, все остальное только скопировано из существующего ответа . Пожалуйста, не спамите ТАК как это. Вы только КОПИРУЕТЕ другие ответы.