0

財務値を分割し、値を合計し、この後、それらが同じかどうかを確認する必要があります。何かのようなもの:

BigDecimal a = new BigDecimal(45.58);
List<BigDecimal> lista = new ArrayList<BigDecimal>();
BigDecimal sum = new BigDecimal("0");

for(int i=0;i<31;i++){
   lista.add(a.divide(new BigDecimal(31), 6, RoundingMode.HALF_UP));
   sum = sum.add(lista.get(i));
   System.out.println(lista.get(i));
}

System.out.println("Initial value:   "+a);
System.out.println("Total: "+sum);

問題は、これを行うと同じ値を取得できないことです。たとえば、45.58 (任意の値) を使用すると、次のようになります。

Initial value:   45.5799999999999982946974341757595539093017578125
Total:           45.580013

どうすれば次のようなものを取得できますか(重要なことは、変数「sum」と「a」が同じであることです):

Initial value:   45.580013
Total:           45.580013

ありがとうございます!

4

0 に答える 0