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.