double 을 BigDecimal로 변환시 소숫점 상에 미세한 값이 오차가 생기내
원인은 못찾았으나 해결책은 찾았지만.... 영 찜찜하네... --> 해결책 String
double c = 79.355;
BigDecimal bb = new BigDecimal(c);
System.out.println("bb = " + bb);
bb = 79.3550000000000039790393202565610408782958984375
double c = 1.355;
BigDecimal bb = new BigDecimal(c);
System.out.println("bb 2 = " + bb);
bb2 = 1.354999999999999982236431605997495353221893310546875
public static double Round3(double val, int round){
System.out.println(new BigDecimal(val));
return new BigDecimal(Double.toString(val)).setScale(round,BigDecimal.ROUND_HALF_UP).doubleValue();
}
댓글 없음:
댓글 쓰기