다음은 아래 오류를 생성합니다.
int calc_ranks(ranks)
{
  double multiplier = .5;
  return multiplier * ranks;
}
반환 유형 double은 int메서드에 정의 된대로 a가 아닙니다 calc_ranks. 로 라운드 / 캐스트하려면 어떻게합니까 int?
답변
round()방법을 사용하여 반올림하십시오 .
int calc_ranks(ranks) {
    double multiplier = .5;
    return (multiplier * ranks).round();
}
답변
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()방법을 사용 하면 double에 가장 가까운 정수를 얻을 수 있습니다.
예를 들면 :
int num1 = (2.3).round();
// 2
int num2 = (2.5).round();
// 3
int num3 = (-2.3).round();
// -2
int num4 = (-2.5).round();
// -3
Flutter에서 double을 int로 변환하는 방법을 시도 할 수도 있습니다.
  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
답변
