สิ่งต่อไปนี้ก่อให้เกิดข้อผิดพลาดด้านล่าง:
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 ()การแปลงไปยังnumint
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 ประการที่สองสิ่งที่เหลือจะคัดลอกมาจากคำตอบที่มีอยู่เท่านั้น กรุณาอย่าสแปมเช่นนี้ คุณกำลังคัดลอกคำตอบอื่น ๆ เท่านั้น