JAVA/java 공부

[JAVA] BigDecimal 정확한 실수 표현

congs 2023. 3. 26. 13:56

BigDecimal

: java에서 숫자를 정밀하게 저장/표현하기 위한 클래스

  • 사용 : 돈, 소수점 등 정밀한 계산 사용 시 이용
  • 단점 : 느린 속도

 

public class BigDecimalEx {
    public static void main(String[] args) {
        // BigDecimal : java에서 숫자를 정밀하게 저장/표현하기 위한 클래스
        // 돈, 소수점 정밀한 계산이 필요한 경우는 필수
        // 단점. 느린속도
        
        //값을 초기화 하기 위해서는 문자열로 값을 넘겨줘야 함.
        BigDecimal db = new BigDecimal("1000.1234");
        BigDecimal db1 = new BigDecimal("1000.1234");
        BigDecimal db2 = new BigDecimal("100");
        
        System.out.println(db);
        
        
        System.out.println(db == db1);
        //== 객체의 주소가 같은지 비교, 값이 같은지 비교를 위해서는 equal사용
        System.out.println(db.equals(db1));
        //compareTo: 값을 비교시 같은면 0 작으면 -1, 크면 1
        
        //+(add), -(subtract), *(multiply), 
        ///(divide), %(remainder)
        System.out.println(" + : "+db.add(db2));
        System.out.println(" - : "+db.subtract(db2));
        System.out.println(" * : "+db.multiply(db2));
        System.out.println(" / : "+db.divide(db2));
        System.out.println(" % : "+db.remainder(db2));
        
        //max min
        System.out.println("max : "+db.max(db2));
        System.out.println("min : "+db.min(db2));
        
        //BigInteger
        BigInteger bi = BigInteger.valueOf(100000); //일반 int
        //System.out.println(bi);
 
        //형변환
        int int_bi = bi.intValue();  //Integer -> int 형변환 
        long long_bi = bi.longValue(); // Integer -> long 형변환
        String string_bi = bi.toString(); //Integer -> String 형변환
        
 
    }
}
cs

 

'JAVA > java 공부' 카테고리의 다른 글

[JAVA] 예외 처리 exception  (0) 2023.09.12
[JAVA] 내부 class, 익명 class  (0) 2023.09.12
[JAVA] 추상메서드 / 추상클래스  (0) 2023.03.26
[JAVA] interface 인터페이스  (0) 2023.03.26
[JAVA] LocalDateTime  (0) 2023.03.26