Как преобразовать double в int в Dart? Следующее вызывает следующую ошибку: int calc_ranks(ranks) { double multiplier = .5; return multiplier * ranks; } Возвращаемый тип double не int, как определено методом calc_ranks. Как мне округлить/привести к int? Ответ 1 Завершить его, используя метод round(): int calc_ranks(ranks) { double multiplier = .5; return (multiplier * ranks).round(); } Ответ 2 Вы можете просто использовать toInt() для преобразования num в int. int calc_ranks(ranks) { double multiplier = .5; return (multiplier * ranks).toInt(); } Обратите внимание, что для того, чтобы сделать то же самое, вы можете использовать оператор усечения деления: int calc_ranks(ranks) => ranks ~/ 2; Ответ 3 Вы можете использовать любой из следующих. 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
Ответ 1 Завершить его, используя метод round(): int calc_ranks(ranks) { double multiplier = .5; return (multiplier * ranks).round(); }
Ответ 2 Вы можете просто использовать toInt() для преобразования num в int. int calc_ranks(ranks) { double multiplier = .5; return (multiplier * ranks).toInt(); } Обратите внимание, что для того, чтобы сделать то же самое, вы можете использовать оператор усечения деления: int calc_ranks(ranks) => ranks ~/ 2;
Ответ 3 Вы можете использовать любой из следующих. 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