-
BigDecimal 사칙연산 (더하기, 빼기, 곱하기, 나누기) , 소수점처리(올림, 버림, 반올림) , 실수비교 compareTo()함수■ 아빠 프로그래밍/JAVA 2018. 8. 30. 13:53반응형
BigDecimal 사칙연산 (더하기, 빼기, 곱하기, 나누기) , 소수점처리(올림, 버림, 반올림)
, 실수비교 compareTo()함수
1. 사칙연산 및 소수점 처리 ( BigDecimal 사용 )
BigDecimal bdcl1 = new BigDecimal("123.123");
BigDecimal bdcl2 = new BigDecimal("456.456");
더하기 : bdcl1.add(bdcl2);
빼기 : bdcl1.subtract(bdcl2);
곱하기 : bdcl1.multiply(bdcl2);
나누기 :
올림 - bdcl1.divide(bdcl2 , 2(소수점자리수), RoundingMode.UP);
버림 - bdcl1.divide(bdcl2 , 4, RoundingMode.DOWN);
반올림 - bdcl1.divide(bdcl2 , 3, RoundingMode.HALF_UP);
반내림 - bdcl1.divide(bdcl2 , 1, RoundingMode.HALF_DOWN);
-- RoundingMode.UP과 RoundingMode.DOWN 는 숫자가 양수든 음수든 숫자의 절대값이 커지도록 올리고 작아지도록 버린다 ex) RoundingMode.UP : 5.5 -> 6 , -5.5 -> -6 | RoundingMode.DOWN : 5.5 -> 5 , -5.5 -> -5
만약 양수쪽으로 커지거나 작아지도록 올림, 버림을 사용하고 싶으면 RoundingMode.CEILING와 RoundingMode.FLOOR 를 사용하면 된다.올림 - bdcl1.divide(bdcl2 , 2, RoundingMode.CEILING);
ex) 5.5 -> 6 , -5.5 -> -5버림 - bdcl1.divide(bdcl2 , 4, RoundingMode.FLOOR);
ex) 5.5 -> 5 , -5.5 -> -62. 실수 비교 ( compareTo()함수 )
동일한 형을 비교 가능(float끼리, double끼리 등)
Float num1 = 2.7;
float num2 = 2.6;
num1.compareTo(num2);
ㅣ
비교대상
리턴 값 :
비교대상이 동일한 값이면 : 0
비교대상이 작은경우 : -1
비교대상이 큰경우 : 1
반응형'■ 아빠 프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 어제(전날)날짜 구하기 (0) 2018.11.09 자바(JAVA) 소수점 처리 (0) 2018.08.30 글자 자리수 맞추기 String.format() (0) 2018.04.10 BigDecimal 사용 (0) 2018.01.09 인코딩(Encoding)설정하는법 (0) 2017.10.23