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.