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.