javaで四捨五入するにはBigDecimalかMathのメソッドを使うと思うのですが、
負の少数を四捨五入すると、両者で結果が違うようなのです。
これは何故でしょうか?
<コード>
System.out.println("Mathで3.5を四捨五入:" + Math.round(3.5)); System.out.println("BigDecimalで3.5を四捨五入:" + new BigDecimal(3.5).setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue()); System.out.println("Mathで-3.5を四捨五入:" + Math.round(-3.5)); System.out.println("BigDecimalで-3.5を四捨五入:" + new BigDecimal(-3.5).setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue());
<コードの実行結果>
Mathで3.5を四捨五入:4 BigDecimalで3.5を四捨五入:4.0 Mathで-3.5を四捨五入:-3 BigDecimalで-3.5を四捨五入:-4.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。