切り捨てや四捨五入は基本的に正の数でやることが多いです。 で、今回業務で負の数の切り捨て・四捨五入を調べていて、Javaではやり方が2通りあり、しかもそれぞれで値が変わってしまうという問題にぶち当たりました。 以下に、切り捨ておよび四捨五入の書き方を示します。(値は一律5.5とします。) 切り捨て Mathクラスを使用する場合 Math.floor(5.5); BigDecimalクラスを使用する場合 new BigDecimal(5.5).setScale(0, BigDecimal.ROUND_DOWN).doubleValue(); 四捨五入 Mathクラスを使用する場合 Math.round(5.5); BigDecimalクラスを使用する場合 new BigDecimal(5.5).setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue