십진 정확성과 반올림 규칙을 명시합니다.
BigDecimal은 금융 계산처럼 정확한 십진수가 필요할 때 사용합니다. 문자열 생성자를 사용하고 divide에서는 나누어떨어지지 않을 경우 scale과 RoundingMode를 지정합니다.
예제에서 new BigDecimal("19.90") 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
equals는 값과 scale을 함께 비교하고 compareTo는 수치 크기를 비교합니다. 연산 결과를 반환하므로 변수에 다시 저장해야 합니다.
통화별 최소 단위, 세금 계산 순서와 반올림 시점을 도메인 정책으로 고정합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 15% 할인과 소수 둘째 자리 반올림을 적용하세요.
new BigDecimal(0.1)은 이미 부정확한 double 값을 가져옵니다.
직접 바꿔보세요15% 할인과 소수 둘째 자리 반올림을 적용하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.