[dart] Dart에서 double을 int로 변환하는 방법은 무엇입니까?

다음은 아래 오류를 생성합니다.

int calc_ranks(ranks)
{
  double multiplier = .5;
  return multiplier * ranks;
}

반환 유형 doubleint메서드에 정의 된대로 a가 아닙니다 calc_ranks. 로 라운드 / 캐스트하려면 어떻게합니까 int?



답변

round()방법을 사용하여 반올림하십시오 .

int calc_ranks(ranks) {
    double multiplier = .5;
    return (multiplier * ranks).round();
}


답변

toInt () 를 사용 하여 a numint.

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


답변