Bagaimana cara mengubah double menjadi int di Dart?


97

Berikut ini menghasilkan kesalahan di bawah ini:

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

Jenis kembalian doublebukan a int, seperti yang didefinisikan oleh metode calc_ranks. Bagaimana cara membulatkan / mentransmisikan ke sebuah int?

Jawaban:



68

Anda cukup menggunakan toInt () untuk mengonversi file numke file int.

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

Perhatikan bahwa untuk melakukan hal yang persis sama Anda dapat menggunakan operator pembagian Pemotongan :

int calc_ranks(ranks) => ranks ~/ 2;

65

Anda dapat menggunakan salah satu dari berikut ini.

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

Jadi, apa perbedaan antara toInt dan lantai atau bulat dan langit
Hector Aguero

0

Putaran panah ganda ke int

Menggunakan round()metode, kita bisa mendapatkan integer yang paling dekat dengan double.

Sebagai contoh:

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

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

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

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

Anda juga dapat mencoba metode tersebut, ubah double menjadi int dalam Flutter

  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

Pertama, pertanyaan ini bukanlah tentang apa roundartinya di Dart. Kedua, sisanya hanya disalin dari jawaban yang ada . Tolong jangan mengirim spam seperti ini. Anda hanya MENYALIN jawaban lain.
iDecode

@ iDecode T: "Bagaimana cara mengubah double menjadi int di Dart?" Jawaban ini: "Menggunakan round () kita bisa mendapatkan integer yang paling dekat dengan double". Kenapa menurut Anda jawabannya tidak terkait dengan pertanyaan?
Ruben

@Ruben Jawaban ini sudah disediakan oleh pengguna lain. Tidak ada manfaatnya memposting hal yang sama berulang kali.
iDecode

Sudah saya katakan bahwa mulai sekarang saya akan jaga, bahkan mengapa Anda meninggalkan komentar dengan down-voting. Meskipun metodenya sama dalam hal ini, tetapi coba jelaskan secara berbeda, dengan cara ini saya telah memberikan contoh cara mengambil nomor
Paresh Mangukiya

Dalam hal ini saya telah mencoba menjelaskan bagaimana integer paling dekat dengan double. dengan ini 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.