double を最も近い .5 に丸める必要があります。.0 で終わる数字で終わりたくありません。
私は少し調べてみましたが、誰もが最も近い半分だけではなく、最も近い.5の倍数に丸めたいようです。.5 で割って丸めて .5 を掛けてみましたが、それでも .5 の倍数に丸められます。この後に .5 を足したり引いたりしても、必ずしもその数値が四捨五入されるとは限りません (引き算すべきところに足し算をするかもしれません)。
どんな助けでも大歓迎です。
私はそれMath.round(num * 2) / 2.0f
が最も近い半分の問題への丸めを解決するはずだと思います:
Math.round(3.9 * 2) / 2.0f == 8 / 2.0f = 4.0
Math.round(3.6 * 2) / 2.0f == 7 / 2.0f = 3.5
Math.round(3.1 * 2) / 2.0f == 6 / 2.0f = 3.0
減算、丸め、加算...
Math.round(value - 0.5) + 0.5
問題のコメントで言及されている別の作業方法:
Math.floor(value) + 0.5