我有一个像这样的值:

421.18834

而且我必须用一个看起来像这样的蒙版正确地将其四舍五入:
0.05
0.04
0.1

例如,如果蒙版为0.04,我必须获得421.20值,因为.18比.16更接近.20。

我使用Google发现的所有功能均无效。

你能帮我么?

最佳答案

double initial = 421.18834;
double range = 0.04;

int factor = Math.round(initial / range); // 10530 - will round to correct value

double result = factor * range; // 421.20

07-26 03:39