Dart'ta double'ı int'e nasıl dönüştürebilirim?


96

Aşağıdakiler aşağıdaki hatayı oluşturur:

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

Yöntemin tanımladığı gibi dönüş türü doublea değil . Nasıl yuvarlarım / atarım ?intcalc_ranksint

Yanıtlar:




65

Aşağıdakilerden herhangi birini kullanabilirsiniz.

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

Öyleyse, toInt ve floor veya round ve tavan arasındaki fark nedir
Hector Aguero

0

Dart yuvarlak çift ile int

round()Yöntemi kullanarak , ikiye en yakın bir tamsayı elde edebiliriz.

Örneğin:

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

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

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

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

Ayrıca bir Flutter'da double'ı int'e dönüştüren yöntemleri deneyebilirsiniz.

  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

Birincisi, bu soru roundDart'ta ne anlama geldiğiyle ilgili değildi . İkincisi, geri kalan şeyler yalnızca mevcut cevaptan kopyalanır . Lütfen böyle BÖYLE spam yapma. Yalnızca diğer yanıtları KOPYALIYORSUNUZ.
iDecode

@iDecode S: "Dart'ta double'ı int türüne nasıl dönüştürebilirim?" Bu Cevap: "round () kullanarak bir ikiye en yakın tam sayı elde edebiliriz" Cevabın soruyla ilgili olmadığını nasıl düşünüyorsunuz?
Ruben

@Ruben Bu cevap zaten başka bir kullanıcı tarafından sağlanmıştır. Aynı şeyi defalarca yayınlamanın bir faydası yok.
iDecode

Size şu andan itibaren ilgileneceğimi söyledim, o zaman bile neden aşağı oy vererek yorum bırakıyorsunuz? Yöntem bunda aynı olsa da, farklı bir şekilde açıklamaya çalışın, bu şekilde sayının nasıl alınacağına dair bir örnek
verdim

Bunda, bir tam sayının ikiye nasıl en yakın olduğunu açıklamaya çalıştım. bu 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.