BigDecimal
-
[JAVA] BigDecimal 사칙연산과 Non-terminating decimal expansion; no exact representable decimal resultJAVA 2021. 6. 23. 16:36
BigDecimal number1 = new BigDecimal("250.125"); BigDecimal number2 = new BigDecimal("150.352"); 더하기 : number1.add(number2); 빼기 : number1.subtract(number2); 곱하기 : number1.multiply(number2); 나누기 : 올림 - number1.divide(number2 , 2(소수점자리수), BigDecimal.ROUND_UP); 버림 - number1.divide(number2 , 4, BigDecimal.ROUND_DOWN); 반올림 - number1.divide(number2 , 3, BigDecimal.ROUND_HALF_UP); 반내림 - number1.divide(n..
-
[JAVA] BigDecimal 사용 이유와 비교하는 방법JAVA 2021. 6. 22. 23:47
[ BigDecimal 사용 이유 ] - float, double 부동소수점에 의해 2진수로 값을 변환하는데 이로 인해 정확한 값이 아닌 근사치를 표현해준다. - float, double에 비해 BigDecimal은 더 많은 크기의 실수를 저장할 수 있으며 10진수로 값을 받기에 정확한 값을 보여준다. - 돈과 관련된 프로젝트에는 BigDecimal은 꼭 써주는게 좋을 것 같다. - 하지만, float, double에 비해 성능저하를 일으킨다. - BigDecimal은 문자열이기에 사칙연산이 안되기에 클래스 내부 메서드를 사용해준다. [ BigDecimal 비교 방법 ] BigDecimal apple = new BigDecimal(1000); BigDecimal banana = new BigDecimal..