将数字四舍五入到最接近的 5 的倍数

新手上路,请多包涵

有谁知道如何将数字四舍五入到最接近的 5 的倍数?我找到了一种算法将其四舍五入到最接近的 10 的倍数,但我找不到这个算法。

这是十个。

 double number = Math.round((len + 5)/ 10.0) * 10.0;

原文由 Daniel Cook 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答
int roundUp(int n) {
    return (n + 4) / 5 * 5;
}

注意 - YankeeWhiskey 的答案是四舍五入到最接近的倍数,这是四舍五入。如果您需要它为负数工作,则需要修改。请注意,整数除法后跟相同数字的整数乘法是向下舍入的方法。

原文由 Tim Cooper 发布,翻译遵循 CC BY-SA 3.0 许可协议

舍入到最接近的任何值:

 int round(double value, int nearest) {
    return (int) Math.round(value / nearest) * nearest;
}

您还可以将 Math.round() 替换为 Math.floor()Math.ceil() 以使其始终向下舍入或始终向上舍入。

原文由 Arkia 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题