다음은 아래 오류를 생성합니다.
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();
}
(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()
방법을 사용 하면 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