【发布时间】:2020-04-30 16:43:33
【问题描述】:
如何在 dart/flutter 中四舍五入:
int hours = int.parse((minutes/60).toStringAsFixed(0));
minutes/60 是 7.92,我希望结果是 7 但它会四舍五入到 8...
【问题讨论】:
如何在 dart/flutter 中四舍五入:
int hours = int.parse((minutes/60).toStringAsFixed(0));
minutes/60 是 7.92,我希望结果是 7 但它会四舍五入到 8...
【问题讨论】:
你可以同时使用Truncating division operator:
int hours = minutes ~/ 60;
或者floor method:
int hours = (minutes/60).floor();
【讨论】:
int hours = (minute/60).floor();
floor() 总是向负无穷舍入。
如果您需要以一定的精度四舍五入 - 使用这个:
double roundDown(double value, int precision) {
final isNegative = value.isNegative;
final mod = pow(10.0, precision);
final roundDown = (((value.abs() * mod).floor()) / mod);
return isNegative ? -roundDown : roundDown;
}
roundDown(0.99, 1) => 0.9
roundDown(-0.19, 1) => -0.1
【讨论】: