以下产生以下错误:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
返回类型double
不是int
方法定义的a calc_ranks
。我如何舍入/铸造到int
?
Answers:
您可以使用以下任何一种。
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
飞镖将double转换为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
您也可以尝试在Flutter中将这些方法将double转换为int
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