숫자 변환과 정밀도의 선택 기준을 나란히 비교한다
비교 항목: 이항 연산은 먼저 타입을 승격한다 / 축소 변환은 범위를 먼저 검사한다 / 금액은 이진 부동소수점과 분리한다
| 확인 질문 | 판단 근거 | 코드에서 드러낼 것 |
|---|---|---|
| 이항 연산은 먼저 타입을 승격한다 | byte + byte의 결과가 byte가 아니라 int인 이유는 산술 연산이 최소 int 정밀도에서 이루어지기 때문입니다. | 타입과 시작값 |
| 축소 변환은 범위를 먼저 검사한다 | (int) longValue는 상위 비트를 버릴 수 있습니다. | 실패 또는 변경 경계 |
| 금액은 이진 부동소수점과 분리한다 | 정확한 십진 반올림 규칙이 필요한 값은 문자열에서 BigDecimal로 만들고 스케일과 반올림 방식을 명시합니다. | 선택한 규칙의 결과 |
선택 기준 정확한 십진 반올림 규칙이 필요한 값은 문자열에서 BigDecimal로 만들고 스케일과 반올림 방식을 명시합니다.