ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 -> -6

     

     

    2. 실수 비교 ( 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
Designed by Tistory.