JavaTM Platform
Standard Ed. 6

java.math
열거형 RoundingMode

java.lang.Object 
  상위를 확장 java.lang.Enum <RoundingMode >
      상위를 확장 java.math.RoundingMode
모든 구현된 인터페이스:
Serializable , Comparable <RoundingMode >


public enum RoundingMode
extends Enum <RoundingMode >

소수부를 파기할 수 있는 연산에 대한 「둥근 동작」을 지정합니다. 각 둥근 모드는, 말 수 있었던 결과가 반환된 최하정도의 자리수의 계산방법을 지정합니다. 정확한 수치 결과를 표현하는데 필요한 자리수보다 적은 자리수 밖에 없는 경우, 파기된 자리수는, 그 자리수의 수치에 있어서의 역할에 관계없이, 「파기된 소수부」라고 불립니다. 즉, 파기된 소수부는 수치로 보여져 1 보다 큰 절대치를 가질 수가 있습니다.

각 둥근 모드의 기술에는, 2 자리수가 다른 10 진수값를, 해당의 둥근 모드로 1 자리수의 10 진수값에 마는 방법을 나타내는 표가 있습니다. 겉(표)의 결과열은, 지정된 값을 가지는 BigDecimal 수를 작성해, 적절한 설정 (precision1,roundingMode 가 해당의 둥근 모드)을 가지는 MathContext 객체를 형성해, 적절한 MathContext 를 사용해 이 수치에 대해 round 를 호출하는 것으로 취득할 수 있습니다. 다음에, 모든 둥근 모드의 둥근 연산의 결과를 나타내는 요약 테이블을 나타냅니다.

다양한 둥근 모드에서의 둥근 연산의 개요

특정의 둥근 모드로 입력을 1 자리수에 만 결과
입력되는 수치 UP DOWN CEILING FLOOR HALF_UP HALF_DOWN HALF_EVEN UNNECESSARY
5.5 6 5 6 5 6 5 6 ArithmeticException 의 throw
2.5 3 2 3 2 3 2 2 ArithmeticException 의 throw
1.6 2 1 2 1 2 2 2 ArithmeticException 의 throw
1.1 2 1 2 1 1 1 1 ArithmeticException 의 throw
1.0 1 1 1 1 1 1 1 1
-1. 0 -1 -1 -1 -1 -1 -1 -1 -1
-1. 1 -2 -1 -1 -2 -1 -1 -1 ArithmeticException 의 throw
-1. 6 -2 -1 -1 -2 -2 -2 -2 ArithmeticException 의 throw
-2. 5 -3 -2 -2 -3 -3 -2 -2 ArithmeticException 의 throw
-5. 5 -6 -5 -5 -6 -6 -5 -6 ArithmeticException 의 throw

enum 는,BigDecimal (BigDecimal.ROUND_UP ,BigDecimal.ROUND_DOWN 등)의 둥근 모드 정수의 정수 베이스의 열거를 옮겨놓기 위해서(때문에) 사용됩니다.

도입된 버젼:
1.5
관련 항목:
BigDecimal , MathContext

열거형 정수의 개요
CEILING
          정의 무한대에 가까워지도록(듯이) 마는 모드입니다.
DOWN
          0 에 가까워지도록(듯이) 마는 모드입니다.
FLOOR
          부의 무한대에 가까워지도록(듯이) 마는 모드입니다.
HALF_DOWN
           「가장 가까운 숫자」에 마는 모드입니다.
HALF_EVEN
           「가장 가까운 숫자」에 마는 둥근 모드입니다.
HALF_UP
           「가장 가까운 숫자」에 마는 모드입니다.
UNNECESSARY
          요구되는 연산의 결과가 정확하고, 둥근이 필요하지 않은 것을 나타내는 둥근 모드입니다.
UP
          0 로부터 멀어지도록(듯이) 마는 모드입니다.
 
메소드의 개요
static RoundingMode valueOf (int rm)
          BigDecimal 의 유산 정수 둥근 모드 정수에 대응하는 RoundingMode 객체를 돌려줍니다.
static RoundingMode valueOf (String  name)
          지정한 이름을 가지는 이 형태의 열거형 정수를 돌려줍니다.
static RoundingMode [] values ()
          이 열거형의 정수를 포함한 배열이 선언되고 있는 순서로 돌려줍니다.
 
클래스 java.lang. Enum 로부터 상속된 메소드
clone , compareTo , equals , finalize , getDeclaringClass , hashCode , name , ordinal , toString , valueOf
 
클래스 java.lang. Object 로부터 상속된 메소드
getClass , notify , notifyAll , wait , wait , wait
 

열거형 정수의 상세

UP

public static final RoundingMode  UP
0 으로부터 멀어지도록(듯이) 마는 모드입니다. 파기되는 0 이외의 소수부에 선행하는 자리수를 항상 늘립니다. 이 둥근 모드는, 계산된 값의 절대치를 줄이지 않습니다.

례:

입력되는 수치 UP 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 6
2.5 3
1.6 2
1.1 2
1.0 1
-1. 0 -1
-1. 1 -2
-1. 6 -2
-2. 5 -3
-5. 5 -6


DOWN

public static final RoundingMode  DOWN
0 에 가까워지도록(듯이) 마는 모드입니다. 파기되는 소수부에 선행하는 자리수를 증분 하지 않습니다 (즉 잘라서 버림). 이 둥근 모드는, 계산된 값의 절대치를 늘리지 않습니다.

례:

입력되는 수치 DOWN 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 5
2.5 2
1.6 1
1.1 1
1.0 1
-1. 0 -1
-1. 1 -1
-1. 6 -1
-2. 5 -2
-5. 5 -5


CEILING

public static final RoundingMode  CEILING
정의 무한대에 가까워지도록(듯이) 마는 모드입니다. 결과가 정의 경우는 RoundingMode.UP 와 같이 동작해, 부의 경우는 RoundingMode.DOWN 와 같이 동작합니다. 이 둥근 모드는, 계산된 값을 줄이지 않습니다.

례:

입력되는 수치 CEILING 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 6
2.5 3
1.6 2
1.1 2
1.0 1
-1. 0 -1
-1. 1 -1
-1. 6 -1
-2. 5 -2
-5. 5 -5


FLOOR

public static final RoundingMode  FLOOR
부의 무한대에 가까워지도록(듯이) 마는 모드입니다. 결과가 정의 경우는 RoundingMode.DOWN 와 같이 동작해, 부의 경우는 RoundingMode.UP 와 같이 동작합니다. 이 둥근 모드는, 계산된 값을 늘리지 않습니다.

례:

입력되는 수치 FLOOR 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 5
2.5 2
1.6 1
1.1 1
1.0 1
-1. 0 -1
-1. 1 -2
-1. 6 -2
-2. 5 -3
-5. 5 -6


HALF_UP

public static final RoundingMode  HALF_UP
「가장 가까운 숫자」에 마는 모드입니다. 다만, 양쪽이웃의 숫자가 등거리의 경우는 끝맺습니다. 파기되는 소수부가 0.5 이상의 경우는 RoundingMode.UP 와 같이 동작해, 그 이외의 경우는 RoundingMode.DOWN 와 같이 동작합니다. 이것은 우리의 대부분이 초등학교에서 배운 둥근 모드입니다.

례:

입력되는 수치 HALF_UP 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 6
2.5 3
1.6 2
1.1 1
1.0 1
-1. 0 -1
-1. 1 -1
-1. 6 -2
-2. 5 -3
-5. 5 -6


HALF_DOWN

public static final RoundingMode  HALF_DOWN
「가장 가까운 숫자」에 마는 모드입니다. 다만, 양쪽이웃의 숫자가 등거리의 경우는 잘라 버립니다. 파기되는 소수부가 0.5 를 넘는 경우는 RoundingMode.UP 와 같이 동작해, 그 이외의 경우는 RoundingMode.DOWN 와 같이 동작합니다.

례:

입력되는 수치 HALF_DOWN 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 5
2.5 2
1.6 2
1.1 1
1.0 1
-1. 0 -1
-1. 1 -1
-1. 6 -2
-2. 5 -2
-5. 5 -5


HALF_EVEN

public static final RoundingMode  HALF_EVEN
「가장 가까운 숫자」에 마는 둥근 모드입니다. 다만, 양쪽이웃의 숫자가 등거리의 경우는 짝수 측에 맙니다. 파기하는 소수부의 좌측의 자리수가 홀수의 경우는 RoundingMode.HALF_UP 와 같이 동작해, 짝수의 경우는 RoundingMode.HALF_DOWN 와 같이 동작합니다. 이 둥근 모드는, 연속하는 계산으로 반복해 적용되는 경우에 누적 에러를 최소한으로 합니다. 이것은 「은행 방식의 둥근」으로서도 알려져 주로 미국에서 사용됩니다. 이 둥근 모드는, Java 의 floatdouble 산술 연산으로 사용되는 둥근 방침과 같습니다.

례:

입력되는 수치 HALF_EVEN 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 6
2.5 2
1.6 2
1.1 1
1.0 1
-1. 0 -1
-1. 1 -1
-1. 6 -2
-2. 5 -2
-5. 5 -6


UNNECESSARY

public static final RoundingMode  UNNECESSARY
요구되는 연산의 결과가 정확하고, 둥근이 필요하지 않은 것을 나타내는 둥근 모드입니다. 이 둥근 모드가 결과가 정확하지 않은 연산으로 지정되는 경우는,ArithmeticException 가 throw 됩니다.

례:

입력되는 수치 UNNECESSARY 에 의한 둥근으로
1 자리수에 말 수 있었던 입력
5.5 ArithmeticException 의 throw
2.5 ArithmeticException 의 throw
1.6 ArithmeticException 의 throw
1.1 ArithmeticException 의 throw
1.0 1
-1. 0 -1
-1. 1 ArithmeticException 의 throw
-1. 6 ArithmeticException 의 throw
-2. 5 ArithmeticException 의 throw
-5. 5 ArithmeticException 의 throw

메소드의 상세

values

public static RoundingMode [] values()
이 열거형의 정수를 포함한 배열이 선언되고 있는 순서로 돌려줍니다. 이 메소드는 다음과 같이 해 정수를 반복하기 위해서 사용할 수 있습니다:
for (RoundingMode c : RoundingMode.values())
    System.out.println(c);

반환값:
이 열거형의 정수가 선언되고 있는 순서로 포함한 배열

valueOf

public static RoundingMode  valueOf(String  name)
지정한 이름을 가지는 이 형태의 열거형 정수를 돌려줍니다. 캐릭터 라인은, 이 형태의 열거형 정수를 선언하는데 사용한 식별자와 엄밀하게 일치하고 있을 필요가 있습니다 (여분의 공백 문자를 포함할 수 없습니다).

파라미터:
name - 반환되는 열거형 정수의 이름
반환값:
지정된 이름을 가지는 열거형 정수
예외:
IllegalArgumentException - 지정된 이름을 가지는 정수를 이 열거형이 가지고 있지 않은 경우
NullPointerException - 인수가 null 의 경우

valueOf

public static RoundingMode  valueOf(int rm)
BigDecimal 의 유산 정수 둥근 모드 정수에 대응하는 RoundingMode 객체를 돌려줍니다.

파라미터:
rm - 변환하는 유산 정수 둥근 모드
반환값:
지정된 정수에 대응하는 RoundingMode
예외:
IllegalArgumentException - 정수가 범위외에 있는 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.