Jak przekonwertować double na int w Dart?


105

Poniższy błąd powoduje następujący błąd:

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

Zwracany typ doublenie jest a int, zgodnie z definicją w metodzie calc_ranks. Jak zaokrąglić / zarzucić do int?

Odpowiedzi:




70

Możesz użyć dowolnego z poniższych.

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

Jaka jest więc różnica między toInt a floor lub round and ceil
Hector Aguero

0

Rzutki okrągłe podwójne do int

Za pomocą round()metody możemy otrzymać liczbę całkowitą najbliższą podwójnej.

Na przykład:

int num1 = (2.3).round();
// 2

int num2 = (2.5).round();
// 3

int num3 = (-2.3).round();
// -2

int num4 = (-2.5).round();
// -3

Możesz także wypróbować te metody konwersji double na int we Flutterze

  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

Po pierwsze, to pytanie nie dotyczyło tego, co roundoznacza w Dart. Po drugie, reszta rzeczy jest tylko kopiowana z istniejącej odpowiedzi . Proszę, nie spamuj tak. KOPIUJESZ tylko inne odpowiedzi.
iDecode,

@iDecode P: „Jak zamienić podwójne na int w Dart?” Ta odpowiedź: „Używając round () możemy otrzymać liczbę całkowitą najbliższą podwójnej”. Jak myślisz, dlaczego odpowiedź nie jest związana z pytaniem?
Ruben

@Ruben Ta odpowiedź została już udzielona przez innego użytkownika. Nie ma korzyści z ciągłego publikowania tego samego.
iDecode

Już wam powiedziałem, że od teraz będę się zajmować, nawet wtedy dlaczego zostawiacie komentarz poprzez głosowanie przeciw. Chociaż metoda jest taka sama, ale spróbuj wyjaśnić ją inaczej, w ten sposób
podałem

W tym próbowałem wyjaśnić, w jaki sposób liczba całkowita jest najbliższa podwójnej. przez to 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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.