สิ่งต่อไปนี้ก่อให้เกิดข้อผิดพลาดด้านล่าง:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
ประเภทผลตอบแทนdouble
ไม่ได้เป็นตามที่กำหนดโดยวิธีการint
calc_ranks
ฉันจะปัดเศษ / ส่งไปที่int
?
สิ่งต่อไปนี้ก่อให้เกิดข้อผิดพลาดด้านล่าง:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
ประเภทผลตอบแทนdouble
ไม่ได้เป็นตามที่กำหนดโดยวิธีการint
calc_ranks
ฉันจะปัดเศษ / ส่งไปที่int
?
คำตอบ:
ปัดโดยใช้round()
วิธีการ:
int calc_ranks(ranks) {
double multiplier = .5;
return (multiplier * ranks).round();
}
(0.57 * 100).toInt()
แก้ไขได้56
ดังนั้นพวกเขาโปรดระวัง
คุณก็สามารถใช้toInt ()การแปลงไปยังnum
int
int calc_ranks(ranks)
{
double multiplier = .5;
return (multiplier * ranks).toInt();
}
โปรดทราบว่าในการทำสิ่งเดียวกันทุกประการคุณสามารถใช้ตัวดำเนินการตัดทอนการแบ่ง :
int calc_ranks(ranks) => ranks ~/ 2;
คุณสามารถใช้สิ่งต่อไปนี้
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
โผรอบสองครั้งเป็น int
เมื่อใช้round()
วิธีการเราจะได้จำนวนเต็มที่ใกล้เคียงกับคู่
ตัวอย่างเช่น:
int num1 = (2.3).round();
// 2
int num2 = (2.5).round();
// 3
int num3 = (-2.3).round();
// -2
int num4 = (-2.5).round();
// -3
คุณยังสามารถลองใช้วิธีการเหล่านั้นแปลง double เป็น int ใน 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
round
หมายใน Dart ประการที่สองสิ่งที่เหลือจะคัดลอกมาจากคำตอบที่มีอยู่เท่านั้น กรุณาอย่าสแปมเช่นนี้ คุณกำลังคัดลอกคำตอบอื่น ๆ เท่านั้น