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


105

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

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

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

답변:




70

다음 중 하나를 사용할 수 있습니다.

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

그래서, toInt 및 바닥이나 둥근 천장을 만들다 사이의 차이가 무엇인가
헥터 아게로

0

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

첫째,이 질문은 roundDart에서 의미하는 것이 아닙니다 . 둘째, 나머지는 기존 답변 에서만 복사됩니다 . 이렇게 스팸 메일을 보내지 마세요. 다른 답변 만 복사하고 있습니다.
iDecode

@iDecode Q : "Dart에서 double을 int로 변환하는 방법?" 이 답변 : "round ()를 사용하면 double에 가장 가까운 정수를 얻을 수 있습니다." 대답이 질문과 관련이 없다고 생각하는 이유는 무엇입니까?
Ruben

@Ruben이 답변은 이미 다른 사용자가 제공했습니다. 같은 것을 계속해서 게시하는 것은 아무런 이점이 없습니다.
iDecode

나는 이미 지금부터 내가 알아서 할 것이라고 말했지만 왜 당신은 반대 투표로 댓글을 남기는가? 방법이에서 동일하지만, 다르게 설명하려고하지만, 이런 식으로 내가 수를 가지고하는 방법의 예를 준
Paresh Mangukiya

이것에서 정수가 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
Paresh Mangukiya
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.