-
BigDecimal 사용■ 아빠 프로그래밍/JAVA 2018. 1. 9. 16:08반응형
자바에서 실수 계산을 할때 정확한 값이 필요하면 BicDecimal형으로 변경후 계산한다.
예제)
import java.math.BigDecimal;
public static void main(String[] args) {
BigDecimal bdcl1 = new BigDecimal("12345678901234567899");
BigDecimal bdcl2 = new BigDecimal("12345678901234567890");
// 더하기
BigDecimal p_add = bdcl1.add(bdcl2);
// 빼기
BigDecimal p_sub = bdcl1.subtract(bdcl2);
// 곱하기
BigDecimal p_mul = bdcl1.multiply(bdcl2);
// 나누기 - 무조건 반올림
BigDecimal p_div1 = bdcl1.divide(bdcl2, BigDecimal.ROUND_UP);
// 나누기 - 소수점 4번째 자리에서 반올림.
BigDecimal p_div2 = bdcl1.divide(bdcl2, 4, BigDecimal.ROUND_UP);
System.out.println("덧셈 : " + p_add);
System.out.println("뺄셈 : " + p_sub);
System.out.println("곱셈 : " + p_mul);
System.out.println("나눗셈1 : " + p_div1);
System.out.println("나눗셈2 : " + p_div2);
}
}
덧셈 : 24691357802469135789
뺄셈 : 9
곱셈 : 152415787532388367613016309986130163110
나눗셈1 : 2
나눗셈2 : 1.0001
===============================================================
BigDecimal의 형변환
- to int
int index = ((BigDecimal)dataMap.get("number")).intValue();
반응형'■ 아빠 프로그래밍 > JAVA' 카테고리의 다른 글
BigDecimal 사칙연산 (더하기, 빼기, 곱하기, 나누기) , 소수점처리(올림, 버림, 반올림) , 실수비교 compareTo()함수 (0) 2018.08.30 글자 자리수 맞추기 String.format() (0) 2018.04.10 인코딩(Encoding)설정하는법 (0) 2017.10.23 로컬컴퓨터 MAC 주소 가져오기 (0) 2017.08.22 포워딩(forwarding) (0) 2017.08.22