AvoidDecimalLiteralsInBigDecimalConstructor1 [디비 파기 | PMD] AvoidDecimalLiteralsInBigDecimalConstructor AvoidDecimalLiteralsInBigDecimalConstructor우선순위: 3 사람들은 보통 new BigDecimal(0.1)이 정확히 0.1과 같을 것이라고 생각한다. 하지만 실제로는0.1000000000000000055511151231257827021181583404541015625의 값을 갖는다.이것은 0.1이 정확히 double을 표현하는 수가 아니기 때문이다. 따라서 생성자를 통해 전달되는 숫자형의 값은 기대와는 다르게 0.1과 같지 않게 된다. 반면에 String형을 사용하는 생성자에서는 그 값이 정확하게 일치한다. new BigDecimal(“0.1”)은정확하게 0.1과 같다. 그러므로 일반적으로 문자열을 파라미터로 전달하는 생성자의 사용이 권장되는 것이다. 샘플 코드 1123.. 2016. 2. 28. 이전 1 다음 반응형