double与offset java的最接近倍数

时间:2017-03-27 02:01:50

标签: java math rounding

我正在尝试获得5.3的最接近倍数,偏移量为20.

离。

  • 21.3将成为20
  • 25.1将变为25.3
  • 29.4将变为30.6

等等。

我知道如何使用

获得最接近的倍数
x = 5.3f*(Math.round(x/5.3))

但我该如何调整偏移?

1 个答案:

答案 0 :(得分:3)

在进行计算之前,您需要从X中减去20的偏移量,并在计算后将其重新添加。

像这样:

x = 5.3f * Math.round((x - 20) / 5.3) + 20
//                       ^-- subtract ^-- add back in