JAVA BigDecimal 의 더하기

1109 단어 작은 지식
예전 에는 이런 대상 을 거의 사용 하지 않 았 는데 오늘 은 수 요 를 바 꿀 때 만 났 다.결국 애 비 를 어떻게 더 해도 0 이 었 다.
코드 는 다음 과 같 습 니 다:
BigDecimal totalAmount = new BigDecimal(0);
		totalAmount.add(new BigDecimal(5000));
		System.out.println(totalAmount);

출력 결 과 는 0 입 니 다.
자 료 를 찾 아 보 니 이렇게 써 야 한다.
BigDecimal totalAmount = new BigDecimal(0);
		totalAmount = totalAmount.add(new BigDecimal("5000"));
		System.out.println(totalAmount);

또한 new BigDecimal 대상 에 서 는 문자열 이나 int 형식의 숫자 를 입력 하 는 것 이 좋 습 니 다.double 형식의 숫자 가 들 어 오 면 신기 한 일이 발생 하기 때 문 입 니 다.
예 를 들 면:
BigDecimal totalAmount = new BigDecimal(0);
		totalAmount = totalAmount.add(new BigDecimal(0.59));
		System.out.println(totalAmount);

출력 결과:
0.58999999999999996891375531049561686813831329345703125
하지만 String 형식의 숫자 가 들 어 오 면:
BigDecimal totalAmount = new BigDecimal(0);
		totalAmount = totalAmount.add(new BigDecimal("0.59"));
		System.out.println(totalAmount);

출력 결과:
0.59
왜 이러 는 지 에 대해 동생 은 학식 이 부족 하 다.BigDecimal 의 그 함정 들

좋은 웹페이지 즐겨찾기