dart - 如何在 0.6、1,6、2,6、...处舍入数字?
问题描述
我希望这适用于所有数字。当然,我不想为所有数字都输入这个。
if (overs == 0.6) {
overs = 1.0;
}
我希望如果达到例如 1.6,它应该转换为 2。我希望这对所有数字都是正确的。
进一步澄清:我不希望它在例如 0.5 处舍入,我希望它在 0.6 处舍入
解决方案
一个班轮
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;
}
推荐阅读
- vue.js - 如何在 Vue 2 中创建具有验证功能的 VForm 组件,如 Vuetify?
- reactjs - Iterate over array with nested objects
- android - How can I put the radiobutton icon in the center of the MaterialRadioButton View?
- javascript - 如何过滤掉反应表中日期范围之间的日期
- javascript - Javascript use value of variable after function
- python - How to reverse a sublist in python
- reactjs - Transcribing javascript to react [Cesium]
- r - How to plot multiple graphs into one using ggplot?
- sql - 访问:通过 VBA 创建 SQL 视图的问题 - 子查询中不允许联合
- python - 如何使用此模型在 keras 中拟合数组