유용한 클래스(7) - BigDecimal class

2021. 12. 31. 13:22·자바/유용한 클래스들

1. java.math.BigDecimal class

- BigDecimal은 실수형과 달리 정수를 이용해서 실수를 표현한다.

 

- 앞에서 배운 것과 같이 실수의 오차는 10진수 실수를 2진수로 정확히 변환할 수 없는 경우가 있기 때문에

발생하는 것이므로, 이 클래스를 이용해서 오차가 없는 2진수를 만드는 것이다.

 

 

 

- BigDecimal은 다음과 같은 변수를 가진다.

(1) private final BigInteger intVal

: 정수(unscaled value)

 

(2) private final int scale

: 지수(scale)

 

(3) private transient int precision

: 정밀도(precision)

 

( 12345 * 10^-2의 뜻으로 정밀도는 전체 자릿수를 의미한다. )

 

 

 

- BigDecimal의 생성 방법은 여러가지 있는데, 문자열로 숫자를 표현하는 것이 일반적이다.

아래의 코드를 보자.

<주의할 점>

: 매개변수로 생성하는 new BigDecimal("0.1")과 new BigDecimal(0.1)는 서로 다른 값을 가진다.

("0.1"은 0.1이지만, 0.1은 0.1000....55...의 오차값을 얻는다.)

'자바 > 유용한 클래스들' 카테고리의 다른 글

유용한 클래스(6) - BigInteger class  (0) 2021.12.31
유용한 클래스(5) - StringTokenizer class  (0) 2021.12.31
유용한 클래스(4) - Scanner class  (0) 2021.12.30
유용한 클래스(3) - 정규식 - regex 패키지  (0) 2021.12.29
유용한 클래스(2) - Random class  (0) 2021.12.29
'자바/유용한 클래스들' 카테고리의 다른 글
  • 유용한 클래스(6) - BigInteger class
  • 유용한 클래스(5) - StringTokenizer class
  • 유용한 클래스(4) - Scanner class
  • 유용한 클래스(3) - 정규식 - regex 패키지
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      ServerSocket
      문자 기반 스트림
      file
      알고스팟
      TCP 소켓 프로그래밍
      다형성
      소켓 프로그래밍
      코딩트리조별과제
      java.time 패키지
      Collections Framework
      outputstream
      역직렬화
      serializable
      안정 정렬
      스트림
      코딩테스트
      map()
      java.lang패키지
      선택 정렬
      snail
      Arrays
      제자리 정렬
      코드트리
      유용한 클래스
      중간연산
      불안정 정렬
      InputStream
      람다식
      자바 개념
      안드로이드 스튜디오
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    유용한 클래스(7) - BigDecimal class
    상단으로

    티스토리툴바