我希望所有数字都正确。我当然不想输入所有数字。
if (overs == 0.6) {
overs = 1.0;
}
我希望例如达到1.6,则应将其转换为2。我希望所有数字都为true。
进一步的澄清:我不希望它舍入为例如0.5,我希望它舍入为0.6
答案 0 :(得分:2)
double roundAt6(double n) => (n - n.floor()) > 0.5 ? n.ceil() : n;
void main() {
final double overs = 5.6;
print('result: ${roundAt6(overs)}');
}
double roundAt6(double n) {
final double decimalPart = n - n.floor();
print('decimal part: $decimalPart');
final bool didExceed = decimalPart > 0.5;
print('didExceed: $didExceed');
return didExceed ? n.ceil() : n;
}
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
@Amsakanna提供的见解帮助我解决了这个问题。我在这里发布确切的解决方案:
if ((overs - overs.floor()) > 0.55)
{
overs = overs - (overs - overs.floor()) + 1;
}