四舍五入为5的倍数

Ben*_*ari 2 java currency rounding

我想让我的程序更精确,并考虑到没有1,2,7值的硬币(只有5,10,20,50,100 ..),所以有一个规则称为四舍五入福林.

例:

111,112  -> 110 
113,114  -> 115
116,117  -> 115
118,119  -> 120
Run Code Online (Sandbox Code Playgroud)

我的问题是我应该在JAVA中使用哪个函数来实现我的目标并获得正确的舍入值?

glg*_*lgl 6

你可以这样写:

int roundTo5(int value)
{
    return ((value + 2) / 5) * 5;
}
Run Code Online (Sandbox Code Playgroud)

这取任何福林值,加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
Run Code Online (Sandbox Code Playgroud)