double 값을 허용하는 BigDecimal 생성자 호출을 보고합니다.
이 생성자는 제공된 double 값과 동일한 BigDecimal을 생성합니다.
하지만 double은 IEEE 754 64비트 배정밀도 2진 부동소수점 형식으로 인코딩되기 때문에 정확한 값은 기대할 수 없습니다.
예를 들어, new BigDecimal(0.1)은 값이 0.1000000000000000055511151231257827021181583404541015625인 BigDecimal 객체를 생성합니다. 이는 double로 표현할 수 있는
0.1에 가장 근접한 숫자입니다.
예상되는 값 0.1을 포함하는 BigDecimal을 얻으려면,
new BigDecimal("0.1") 또는 BigDecimal.valueOf(0.1)을 사용하세요.
예:
class Constructor {
void foo() {
new BigDecimal(0.1);
}
}
빠른 수정을 적용한 후:
class Constructor {
void foo() {
new BigDecimal("0.1");
}
}