Berikut ini menghasilkan kesalahan di bawah ini:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
Jenis kembalian double
bukan a int
, seperti yang didefinisikan oleh metode calc_ranks
. Bagaimana cara membulatkan / mentransmisikan ke sebuah int
?
(0.57 * 100).toInt()
diselesaikan56
, jadi teman-teman, berhati-hatilah.Anda cukup menggunakan toInt () untuk mengonversi file
num
ke fileint
.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;
sumber
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
sumber
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
sumber
round
artinya di Dart. Kedua, sisanya hanya disalin dari jawaban yang ada . Tolong jangan mengirim spam seperti ini. Anda hanya MENYALIN jawaban lain.