0

BigDecimal 形式の変数を作成するデータを計算する関数があり、結果に応じて切り上げまたは切り捨てを試みています。例えば:

16.543242123 は 16.5 にする必要があります 3.35 は 3.4 にする必要があります 6.3456 は 6.3 にする必要があります

3 桁目が 5 以上の場合は 2 桁目を切り上げ、4 以下の場合は 3 桁目を切り捨てます。これは絶対に BigDecimal である必要はありません。切り上げを行うことができた後、数値を変換することができます。前もって感謝します。

4

2 に答える 2

0
BigDecimal bd = new BigDecimal("16.553242123");
BigDecimal format = bd.setScale(1, RoundingMode.HALF_UP);
于 2013-11-01T13:48:50.153 に答える
0

これはそれを行う必要があります:

  BigDecimal bg1 = new BigDecimal(16.543242123);
  bg1 = bg1.setScale(1, BigDecimal.ROUND_HALF_EVEN);
  System.out.println(bg1.toString());  //16.5

  BigDecimal bg2 = new BigDecimal(3.35);
  bg2 = bg2.setScale(1, BigDecimal.ROUND_HALF_EVEN);
  System.out.println(bg2.toString()); //3.4

  BigDecimal bg3 = new BigDecimal(6.3456);
  bg3 = bg3.setScale(1, BigDecimal.ROUND_HALF_EVEN);
  System.out.println(bg3.toString());  //6.3
于 2013-11-01T13:48:29.410 に答える