java - 四舍五入为 5 的倍数
问题描述
我想让我的程序更精确,并考虑到 1、2、7 值没有硬币(只有 5、10、20、50、100 ..),所以有一个规则叫做四舍五入福林。
例子:
111,112 -> 110
113,114 -> 115
116,117 -> 115
118,119 -> 120
我的问题是我应该在 JAVA 中使用哪个函数来达到我的目标并获得正确的舍入值?
解决方案
你可以这样写:
int roundTo5(int value)
{
return ((value + 2) / 5) * 5;
}
这采用任何福林值,加 2 并除以 5。这对整数进行“下舍入”并再次乘以 5。
0 → 2 → 0 → 0
1 → 3 → 0 → 0
2 → 4 → 0 → 0
3 → 5 → 1 → 5
4 → 6 → 1 → 5
5 → 7 → 1 → 5
6 → 8 → 1 → 5
7 → 9 → 1 → 5
8 → 10 → 2 → 10
9 → 11 → 2 → 10
推荐阅读
- sql - 制作动态数据透视表但不使用小提琴
- apache-spark - 使用 parquet 格式附加 Apache Spark 中的列描述
- kubernetes - 不同操作系统的 Kubernetes 作业
- docker - 将 plex 作为 docker 容器运行,无法访问 Web UI
- apache-kafka - 时间戳与 avro 架构
- linux - 有人可以向我解释一下“read var1 _ < <(ls -1l | wc -l); echo $var1”
- c# - 如何在http post请求的每一行中添加一个标头
- typescript - 打字稿:从具有索引签名的对象中获取密钥
- c# - 尝试使用 mongodb 的 filter.near
- java - Jhipster UAA 外部客户端