JavaTM Platform
Standard Ed. 6

java.text
클래스 DecimalFormat

java.lang.Object 
  상위를 확장 java.text.Format 
      상위를 확장 java.text.NumberFormat 
          상위를 확장 java.text.DecimalFormat
모든 구현된 인터페이스:
Serializable , Cloneable


public class DecimalFormat
extends NumberFormat

DecimalFormat 는, 10 진수를 포맷 하는 NumberFormat 의 구상 서브 클래스입니다. DecimalFormat 에는, 서구, 아라비아, 및 인도 숫자에 대한 지원를 포함한 여러가지 기능이 준비되어 있어 임의의 로케일로 수치의 해석과 포맷을 실행할 수 있도록(듯이) 설계되고 있습니다. 또, 정수 (123), 고정 소수치 (123.4), 과학 표기법 (1.23E4), 퍼센트 (12%), 및 통화 금액 ($123)등이 다양한 종류의 수치도 지원하고 있습니다. 이것들은 모두 지역 대응을 할 수 있습니다.

디폴트의 로케일등의 특정의 로케일의 NumberFormat 를 취득하기 위해서는,getInstance() 등의 NumberFormat 의 팩토리 메소드의 1 개를 호출합니다. 일반적으로,NumberFormat 팩토리 메소드는 DecimalFormat 이외의 서브 클래스를 돌려주는 경우가 있기 (위해)때문에,DecimalFormat 생성자 을 직접 호출하지 않습니다. 포맷 객체를 커스터마이즈 할 필요가 있는 경우는, 다음과 같이 실행합니다.

 NumberFormat f = NumberFormat.getInstance(loc);
 if (f instanceof DecimalFormat) {
     ((DecimalFormat) f). setDecimalSeparatorAlwaysShown(true);
 }
 

DecimalFormat 는 패턴 및 기호세트로 구성됩니다. 패턴의 설정은 applyPattern() 를 사용해 직접 행하는지, 또는 API 메소드를 사용해 간접적으로 실시합니다. 기호는 DecimalFormatSymbols 객체에 포함됩니다. NumberFormat 팩토리 메소드를 사용하고 있는 경우, 패턴과 기호는 지역 대응된 ResourceBundle 로부터 읽힙니다.

패턴

DecimalFormat 의 구문을 이하에 나타냅니다.
 Pattern:
         PositivePattern
         PositivePattern ; NegativePattern
 PositivePattern:
         Prefixopt Number Suffixopt
 NegativePattern:
         Prefixopt Number Suffixopt
 Prefix:
         임의의 Unicode 문자 (\uFFFE, \uFFFF, 특수 문자를 제외하다)
 Suffix:
         임의의 Unicode 문자 (\uFFFE, \uFFFF, 특수 문자를 제외하다)
 수치:
         Integer Exponentopt
         Integer .  Fraction Exponentopt
 Integer:
         MinimumInteger
         #
         # 정수
         # , 정수
 MinimumInteger:
         0
         0 MinimumInteger
         0 , MinimumInteger
 Fraction:
         MinimumFractionopt OptionalFractionopt
 MinimumFraction:
         0 MinimumFractionopt
 OptionalFraction:
         # OptionalFractionopt
 Exponent:
         E MinimumExponent
 MinimumExponent:
         0 MinimumExponentopt
 

DecimalFormat 패턴에는 "#,##0. 00;(#,##0. 00)" 등의, 정과 부의 서브 패턴이 있습니다. 각 서브 패턴에는 접두사, 수치 부분, 및 접미사(suffix)이 1 개씩 있습니다. 부의 서브 패턴은 옵션입니다. 이 옵션을 설정하지 않는 경우는, 지역 대응한 마이너스 기호 (대부분의 로케일에서는 '-')를 정의 서브 패턴에 접두사로서 붙이는 것으로, 부의 서브 패턴으로서 사용합니다. 즉, 단독의 "0.00""0.00;-0. 00" 으로 등가가 됩니다. 명시적인 부의 서브 패턴이 있으면(자), 이것은 부의 접두사와 접미사(suffix)을 지정하는 경우에만 기능합니다. 자리수, 최소 자리수, 및 그 외의 특성은 모두 정의 패턴과 같습니다. 이것은 "#,##0. 0#;(#)" (은)는 "#,##0. 0#;(#,##0. 0#)" (와)과 정확하게 같은 결과가 되는 것을 의미합니다.

접두사, 접미사(suffix), 및 무한대, 자리수, 1000 의 단락지어, 및 소수의 단락 문자 등에 사용하는 다양한 기호는, 임의의 값으로 설정할 수 있어 포맷중에 올바르게 표시됩니다. 다만, 기호와 캐릭터 라인이 모순되지 않게 주의를 하지 않으면 해석은 신뢰성을 가지지 않습니다. 예를 들어,DecimalFormat.parse() 로 정의 값과 0 보다 작은 값을 구별할 수 있도록(듯이), 정과 부의 접두사나 접미사(suffix)은 다를 필요가 있습니다. 동일하다라고,DecimalFormat 는 부의 서브 패턴이 지정되어 있지 않은 것으로서 동작합니다. 다른 예로서 수치자리수 단락자와 1000 의 단락자에게는 다른 문자를 사용할 필요가 있습니다. 동일한 문자를 사용하면(자) 해석이 불가능하게 됩니다.

그룹 단락자는 일반적으로 1000 마다 단락짓기 위해서(때문에) 사용합니다만, 나라에 따라서는 10000 마다 사용하는 곳(중)도 있습니다. 그룹 단락의 사이즈란, 100,000,000 의 경우는 3, 1,0000,0000 의 경우는 4 와 같이, 그룹 단락 문자간의 일정한 자리수입니다. 복수의 그룹 단락 문자를 가지는 패턴을 지정하면(자), 마지막 단락 문자와 말미의 정수와의 사이가, 이전 격으로서 사용됩니다. 따라서,"#,##,###,####" == "######,####" == "##,####,####" 됩니다.

특수 패턴 문자

패턴내가 많은 문자는 문자대로 취득됩니다. 이러한 문자는 해석중에 일치하면(자), 포맷중에 그대로 출력됩니다. 한편, 특수 문자는 다른 문자, 캐릭터 라인, 또는 문자의 클래스를 나타냅니다. 특수 문자는, 접두사나 접미사(suffix)에 리터럴로서 표시하는 경우는, 특히 지시가 없는 한, 인용부호로 둘러쌀 필요가 있습니다.

다음에 리스트 하는 문자는, 지역 대응되어 있지 않은 패턴으로 사용됩니다. 지역 대응되어 있지 않은 패턴에서는, 대신에 이 포매터의 DecimalFormatSymbols 객체로부터 취득한 대응하는 문자를 사용하면(자), 이러한 문자는 특수한 상태는 아니게 됩니다. 2 개의 예외는 지역 대응되어 있지 않은 통화 기호와 인용부호입니다.

기호 위치 지역 대응의 유무 의미
0 수치 있어 숫자
# 수치 있어 숫자. 제로라고 표시되지 않는다
. 수치 있어 수치자리수 단락자 또는 통화자리수 단락자
- 수치 있어 마이너스 기호
, 수치 있어 그룹 단락자
E 수치 있어 과학 표기법의 가수와 지수를 단락짓는다. 접두사나 접미사(suffix)내에 인용부호를 붙일 필요는 없다
; 서브 패턴 경계 있어 정과 부의 서브 패턴을 단락짓는다
% 접두사 또는 접미사(suffix) 있어 100 배가 되어 퍼센트를 나타낸다
\u2030 접두사 또는 접미사(suffix) 있어 1000 배가 되어 퍼밀치를 나타낸다
¤ (\u00A4) 접두사 또는 접미사(suffix) 없음 통화 기호로 치환되는 통화 부호. 2 개의 경우는, 국제통화 기호로 치환된다. 패턴내에 있는 경우는, 수치자리수 단락자는 아니고, 통화자리수 단락자가 사용된다
' 접두사 또는 접미사(suffix) 없음 접두사나 접미사(suffix)내의 특수 문자를 인용부호로 둘러싸는 경우에 사용된다. 예를 들어,"'#'#" 를 사용하면(자) 123 은 "#123" 에 포맷 된다. 단일 인용부호 자체를 작성하려면 , 1 행에 2 개 인용부호를 사용한다 ("# o''clock")

과학 표기법

과학 표기법의 수치는 가수와 10 의 누승의 결과로서 나타내집니다. 예를 들어, 1234 는 1.234 x 10^3 로서 나타내집니다. 가수의 상당수는 1.0 <= x <10.0 의 범위내입니다만, 반드시 이 범위내로 할 필요는 없습니다. DecimalFormat 에는, 패턴만을 개입시켜 과학 표기법을 포맷 및 해석하도록 지시할 수 있습니다. 현재, 과학 표기법형식을 작성하는 팩토리 메소드는 없습니다. 패턴에서는, 지수 문자의 직후에 1 개 이상의 숫자를 계속해 과학 표기법을 나타냅니다. 예를 들어 "0. ###E0" 에서는, 1234 는 "1.234E3" 와 같이 포맷 됩니다.

둥근

DecimalFormat 는,RoundingMode 로 정의되고 있는 둥근 모드를 포맷 처리에 제공합니다. 디폴트에서는,RoundingMode.HALF_EVEN 가 사용됩니다.

숫자

DecimalFormat 는, 포맷에 DecimalFormatSymbols 객체로 정의되고 있는, 지역 대응한 제로 숫자로 시작되는 10 개가 연속한 문자를 숫자로서 사용합니다. 해석에서는, 이러한 숫자와 함께,Character.digit 의 정의에 의한 모든 Unicode 10 진수를 인식합니다.

특수한 값

NaN 는, 일반적으로은 단일의 문자 \uFFFD 를 가지는 캐릭터 라인으로서 포맷 됩니다. 이 캐릭터 라인은 DecimalFormatSymbols 객체에 의해 판정됩니다. 이것은, 접두사와 접미사(suffix)이 사용되지 않는 유일한 값입니다.

무한대는, 일반적으로은 단일의 문자 \u221E 를 가지는 캐릭터 라인으로서 포맷 되어 부 또는 정의 접두사 및 접미사(suffix)이 적용됩니다. 무한대 캐릭터 라인은 DecimalFormatSymbols 객체에 의해 판정됩니다.

부의 제로 ("-0")는,

동기

decimal 포맷은 동기화 되지 않습니다. thread 마다 다른 포맷 인스턴스를 작성하는 것을 추천합니다. 복수의 thread가 포맷에 동시에 액세스 하는 경우는, 외부적으로 동기화할 필요가 있습니다.

 // Print out a number using the localized number, integer, currency,
 // and percent format for each locale
 Locale[] locales = NumberFormat.getAvailableLocales();
 double myNumber = -1234. 56;
 NumberFormat form;
 for (int j=0; j<4; ++j) {
     System.out.println("FORMAT");
     for (int i = 0; i < locales.length; ++i) {
         if (locales[i]. getCountry(). length() == 0) {
            continue; // Skip language-only locales
         }
         System.out.print(locales[i]. getDisplayName());
         switch (j) {
         case 0:
             form = NumberFormat.getInstance(locales[i]); break;
         case 1:
             form = NumberFormat.getIntegerInstance(locales[i]); break;
         case 2:
             form = NumberFormat.getCurrencyInstance(locales[i]); break;
         default:
             form = NumberFormat.getPercentInstance(locales[i]); break;
         }
         if (form instanceof DecimalFormat) {
             System.out.print(": " + ((DecimalFormat) form). toPattern());
         }
         System.out.print(" -> " + form.format(myNumber));
         try {
             System.out.println(" -> " + form.parse(form.format(myNumber)));
         } catch (ParseException e) {}
     }
 }
 

관련 항목:
Java 튜토리얼, NumberFormat , DecimalFormatSymbols , ParsePosition , 직렬화 된 형식

상자의 클래스의 개요
 
클래스 java.text. NumberFormat 로부터 상속된 상자의 클래스/인터페이스
NumberFormat.Field
 
필드의 개요
 
클래스 java.text. NumberFormat 로부터 상속된 필드
FRACTION_FIELD , INTEGER_FIELD
 
생성자 의 개요
DecimalFormat ()
          디폴트 로케일에 대해서, 디폴트의 패턴과 기호를 사용해 DecimalFormat 를 작성합니다.
DecimalFormat (String  pattern)
          디폴트 로케일에 대해서, 지정된 패턴과 기호를 사용해 DecimalFormat 를 작성합니다.
DecimalFormat (String  pattern, DecimalFormatSymbols  symbols)
          지정된 패턴과 기호를 사용해 DecimalFormat 를 작성합니다.
 
메소드의 개요
 void applyLocalizedPattern (String  pattern)
          지정된 패턴을 이 Format 객체에 적용합니다.
 void applyPattern (String  pattern)
          지정된 패턴을 이 Format 객체에 적용합니다.
 Object clone ()
          표준 오버라이드(override)입니다.
 boolean equals (Object  obj)
          equals 를 오버라이드(override) 합니다.
 StringBuffer format (double number, StringBuffer  result, FieldPosition  fieldPosition)
          double 를 포맷 해 캐릭터 라인을 작성합니다.
 StringBuffer format (long number, StringBuffer  result, FieldPosition  fieldPosition)
          long 를 포맷 해 캐릭터 라인을 작성합니다.
 StringBuffer format (Object  number, StringBuffer  toAppendTo, FieldPosition  pos)
          수치를 포맷 해, 그 결과의 텍스트가 지정된 캐릭터 라인 버퍼에 추가합니다.
 AttributedCharacterIterator formatToCharacterIterator (Object  obj)
          Object 를 포맷 해,AttributedCharacterIterator 를 생성합니다.
 Currency getCurrency ()
          통화치의 포맷시에, 이 10 진포맷이 사용하는 통화를 가져옵니다.
 DecimalFormatSymbols getDecimalFormatSymbols ()
          수치자리수 단락 문자의 카피를 돌려줍니다.
 int getGroupingSize ()
          그룹화 사이즈를 돌려줍니다.
 int getMaximumFractionDigits ()
          수치의 소수 부분의 최대 자리수를 가져옵니다.
 int getMaximumIntegerDigits ()
          수치의 정수 부분의 최대 자리수를 가져옵니다.
 int getMinimumFractionDigits ()
          수치의 소수 부분의 최소 자리수를 가져옵니다.
 int getMinimumIntegerDigits ()
          수치의 정수 부분의 최소 자리수를 가져옵니다.
 int getMultiplier ()
          퍼센트, 퍼밀 (1000), 및 그 유사 포맷으로 사용하는 승수를 가져옵니다.
 String getNegativePrefix ()
          부의 접두사를 가져옵니다.
 String getNegativeSuffix ()
          부의 접미사(suffix)을 가져옵니다.
 String getPositivePrefix ()
          정의 접두사를 가져옵니다.
 String getPositiveSuffix ()
          정의 접미사(suffix)을 가져옵니다.
 RoundingMode getRoundingMode ()
          이 DecimalFormat 로 사용되는 RoundingMode 를 가져옵니다.
 int hashCode ()
          hashCode 를 오버라이드(override) 합니다.
 boolean isDecimalSeparatorAlwaysShown ()
          정수와 구별하는 소수점의 동작을 가져옵니다 (소수정도에서는 소수점이 항상 표시된다).
 boolean isParseBigDecimal ()
          parse(java.lang.String, java.text.ParsePosition) 메소드가 BigDecimal 를 돌려줄지 어떨지를 돌려줍니다.
 Number parse (String  text, ParsePosition  pos)
          캐릭터 라인으로부터 텍스트를 해석해 Number 를 생성합니다.
 void setCurrency (Currency  currency)
          통화치의 포맷시에, 이 수치 포맷이 사용하는 통화를 설정합니다.
 void setDecimalFormatSymbols (DecimalFormatSymbols  newSymbols)
          수치자리수 단락 문자를 설정합니다.
 void setDecimalSeparatorAlwaysShown (boolean newValue)
          정수와 구별하는 소수점의 동작을 설정합니다 (소수정도에서는 소수점이 항상 표시된다).
 void setGroupingSize (int newValue)
          그룹화 사이즈를 설정합니다.
 void setMaximumFractionDigits (int newValue)
          수치의 소수 부분의 최대 자리수를 설정합니다.
 void setMaximumIntegerDigits (int newValue)
          수치의 정수 부분의 최대 자리수를 설정합니다.
 void setMinimumFractionDigits (int newValue)
          수치의 소수 부분의 최소 자리수를 설정합니다.
 void setMinimumIntegerDigits (int newValue)
          수치의 정수 부분의 최소 자리수를 설정합니다.
 void setMultiplier (int newValue)
          퍼센트, 퍼밀 (1000), 및 그 유사 포맷으로 사용하는 승수를 설정합니다.
 void setNegativePrefix (String  newValue)
          부의 접두사를 설정합니다.
 void setNegativeSuffix (String  newValue)
          부의 접미사(suffix)을 설정합니다.
 void setParseBigDecimal (boolean newValue)
          parse(java.lang.String, java.text.ParsePosition) 메소드가 BigDecimal 를 돌려줄지 어떨지를 설정합니다.
 void setPositivePrefix (String  newValue)
          정의 접두사를 설정합니다.
 void setPositiveSuffix (String  newValue)
          정의 접미사(suffix)을 설정합니다.
 void setRoundingMode (RoundingMode  roundingMode)
          이 DecimalFormat 로 사용되는 RoundingMode 를 설정합니다.
 String toLocalizedPattern ()
          이 Format 객체의 현재 상태를 나타내는 지역 대응된 패턴 캐릭터 라인을 종합 합니다.
 String toPattern ()
          이 Format 객체의 현재 상태를 나타내는 패턴 캐릭터 라인을 종합 합니다.
 
클래스 java.text. NumberFormat 로부터 상속된 메소드
format , format , getAvailableLocales , getCurrencyInstance , getCurrencyInstance , getInstance , getInstance , getIntegerInstance , getIntegerInstance , getNumberInstance , getNumberInstance , getPercentInstance , getPercentInstance , isGroupingUsed , isParseIntegerOnly , parse , parseObject , setGroupingUsed , setParseIntegerOnly
 
클래스 java.text. Format 로부터 상속된 메소드
format , parseObject
 
클래스 java.lang. Object 로부터 상속된 메소드
finalize , getClass , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

DecimalFormat

public DecimalFormat()
디폴트 로케일에 대해서, 디폴트의 패턴과 기호를 사용해 DecimalFormat 를 작성합니다. 이것은, 국제화가 주요한 문제가 아닌 경우는, DecimalFormat 를 얻기 위해서(때문에)는 간단한 방법입니다.  

지정된 로케일에 대한 표준 포맷을 얻으려면 , getNumberInstance 등, NumberFormat 의 팩토리 메소드를 사용해 주세요. 이러한 팩토리 메소드는, 지정된 로케일에 대한 NumberFormat 의 최적인 서브 클래스를 돌려줍니다.

관련 항목:
NumberFormat.getInstance() , NumberFormat.getNumberInstance() , NumberFormat.getCurrencyInstance() , NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String  pattern)
디폴트 로케일에 대해서, 지정된 패턴과 기호를 사용해 DecimalFormat 를 작성합니다. 이것은, 국제화가 주요한 문제가 아닌 경우는, DecimalFormat 를 얻기 위해서(때문에)는 간단한 방법입니다.  

지정된 로케일에 대한 표준 포맷을 얻으려면 , getNumberInstance 등, NumberFormat 의 팩토리 메소드를 사용해 주세요. 이러한 팩토리 메소드는, 지정된 로케일에 대한 NumberFormat 의 최적인 서브 클래스를 돌려줍니다.

파라미터:
pattern - 비지역 대응의 패턴 캐릭터 라인
예외:
NullPointerException - pattern 가 null 의 경우
IllegalArgumentException - 지정된 패턴이 올바르지 않은 경우
관련 항목:
NumberFormat.getInstance() , NumberFormat.getNumberInstance() , NumberFormat.getCurrencyInstance() , NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String  pattern,
                     DecimalFormatSymbols  symbols)
지정된 패턴과 기호를 사용해 DecimalFormat 를 작성합니다. 포맷의 동작을 완전하게 커스터마이즈 할 필요가 있는 경우에는, 이 생성자 을 사용해 주세요.  

지정된 로케일에 대한 표준 포맷을 얻으려면 , getInstance 나 getCurrencyInstance 등, NumberFormat 의 팩토리 메소드를 사용해 주세요. 표준 포맷을 조금 조정하는 것 뿐이라면, NumberFormat 팩토리 메소드로 반환된 포맷을 수정할 수가 있습니다.

파라미터:
pattern - 비지역 대응의 패턴 캐릭터 라인
symbols - 사용하는 기호 세트
예외:
NullPointerException - 지정된 인수가 1 개에서도 null 의 경우
IllegalArgumentException - 지정된 패턴이 올바르지 않은 경우
관련 항목:
NumberFormat.getInstance() , NumberFormat.getNumberInstance() , NumberFormat.getCurrencyInstance() , NumberFormat.getPercentInstance() , DecimalFormatSymbols
메소드의 상세

format

public final StringBuffer  format(Object  number,
                                 StringBuffer  toAppendTo,
                                 FieldPosition  pos)
수치를 포맷 해, 그 결과의 텍스트가 지정된 캐릭터 라인 버퍼에 추가합니다. 지정 가능한 수치는,Number 의 임의의 서브 클래스입니다.  

이 구현은 최대 허용 정밀도를 사용합니다.

오버라이드(override):
클래스 NumberFormat 내의 format
파라미터:
number - 포맷 하는 수치
toAppendTo - 포맷 후의 텍스트를 추가한다 StringBuffer
pos - 입력으로는, 필요하면 위치 맞춤 필드. 출력으로는, 그 위치 맞춤 필드의 오프셋(offset)
반환값:
toAppendTo 로서 건네받은 값
예외:
IllegalArgumentException - number 가 null 인지, Number 의 인스턴스가 아닌 경우
NullPointerException - toAppendTo 또는 pos 가 null 의 경우
ArithmeticException - 둥근 처리가 필요한 경우에 둥근 모드가 RoundingMode.UNNECESSARY 로 설정되어 있을 때
관련 항목:
FieldPosition

format

public StringBuffer  format(double number,
                           StringBuffer  result,
                           FieldPosition  fieldPosition)
double 를 포맷 해 캐릭터 라인을 작성합니다.

정의:
클래스 NumberFormat 내의 format
파라미터:
number - 포맷 하는 double
result - 텍스트를 추가하는 위치
fieldPosition - 입력으로는, 필요하면 위치 맞춤 필드. 출력으로는, 그 위치 맞춤 필드의 오프셋(offset)
반환값:
포맷 된 수치 캐릭터 라인
예외:
ArithmeticException - 둥근 처리가 필요한 경우에 둥근 모드가 RoundingMode.UNNECESSARY 로 설정되어 있을 때
관련 항목:
FieldPosition

format

public StringBuffer  format(long number,
                           StringBuffer  result,
                           FieldPosition  fieldPosition)
long 를 포맷 해 캐릭터 라인을 작성합니다.

정의:
클래스 NumberFormat 내의 format
파라미터:
number - 포맷 하는 long
result - 텍스트를 추가하는 위치
fieldPosition - 입력으로는, 필요하면 위치 맞춤 필드. 출력으로는, 그 위치 맞춤 필드의 오프셋(offset)
반환값:
포맷 된 수치 캐릭터 라인
예외:
ArithmeticException - 둥근 처리가 필요한 경우에 둥근 모드가 RoundingMode.UNNECESSARY 로 설정되어 있을 때
관련 항목:
FieldPosition

formatToCharacterIterator

public AttributedCharacterIterator  formatToCharacterIterator(Object  obj)
Object 를 포맷 해,AttributedCharacterIterator 를 생성합니다. 반환된 AttributedCharacterIterator 를 사용하면(자), 결과의 String 를 구축할 수 있는 것과 동시에, 결과의 String 에 대한 정보를 판정할 수 있습니다.  

AttributedCharacterIterator 의 각 속성 키는 NumberFormat.Field 형입니다. 속성치는 속성 키와 동일합니다.

오버라이드(override):
클래스 Format 내의 formatToCharacterIterator
파라미터:
obj - 포맷 하는 객체
반환값:
포맷 된 값을 설명하는 AttributedCharacterIterator
예외:
NullPointerException - obj 가 null 의 경우
IllegalArgumentException - 지정된 객체를 Format 로 포맷 할 수 없는 경우
ArithmeticException - 둥근 처리가 필요한 경우에 둥근 모드가 RoundingMode.UNNECESSARY 로 설정되어 있을 때
도입된 버젼:
1.4

parse

public Number  parse(String  text,
                    ParsePosition  pos)
캐릭터 라인으로부터 텍스트를 해석해 Number 를 생성합니다.  

메소드는 pos 에 의해 지정된 인덱스를 개시 위치로서 텍스트의 해석을 시도합니다. 해석이 완료하면(자),pos 의 인덱스는, 사용된 마지막 문자 (해석에서는, 캐릭터 라인의 끝까지의 모든 문자를 사용할 필요는 없다)의 뒤의 인덱스에 갱신되어 해석된 수치가 돌려주어집니다. 갱신된 pos 는, 이 메소드의 다음의 호출의 개시점을 나타내는데 사용할 수 있습니다. 에러가 발생했을 경우는,pos 의 인덱스는 변경되지 않고, 에러가 발생한 문자의 인덱스에 pos 의 에러 인덱스가 설정되어 null 가 돌려주어집니다.  

반환값의 서브 클래스는,isParseBigDecimal() 의 값과 해석 대상 캐릭터 라인에 의해 정해집니다.

DecimalFormat 는,Character.digit() 로 정의되고 있는 10 진수자를 나타내는 모든 Unicode 문자를 해석합니다. 한층 더 DecimalFormat 는,DecimalFormatSymbols 객체로 정의되고 있는 지역 대응한 제로 숫자로 시작되는 10 개가 연속한 문자를 숫자로서 인식합니다.

정의:
클래스 NumberFormat 내의 parse
파라미터:
text - 해석되는 캐릭터 라인
pos - 상기의 인덱스 및 에러 인덱스 정보를 가진다 ParsePosition 객체
반환값:
해석된 값. 해석이 실패했을 경우는 null
예외:
NullPointerException - text 또는 pos 가 null 의 경우
관련 항목:
NumberFormat.isParseIntegerOnly() , Format.parseObject(java.lang.String, java.text.ParsePosition)

getDecimalFormatSymbols

public DecimalFormatSymbols  getDecimalFormatSymbols()
수치자리수 단락 문자의 카피를 돌려줍니다. 이것은 일반적으로, 프로그래머나 사용자에 의해 변경되지 않습니다.

반환값:
필요한 DecimalFormatSymbols 의 카피
관련 항목:
DecimalFormatSymbols

setDecimalFormatSymbols

public void setDecimalFormatSymbols(DecimalFormatSymbols  newSymbols)
수치자리수 단락 문자를 설정합니다. 이것은 일반적으로, 프로그래머나 사용자에 의해 변경되지 않습니다.

파라미터:
newSymbols - 필요한 DecimalFormatSymbols
관련 항목:
DecimalFormatSymbols

getPositivePrefix

public String  getPositivePrefix()
정의 접두사를 가져옵니다.

예:+123,$123, sFr123


setPositivePrefix

public void setPositivePrefix(String  newValue)
정의 접두사를 설정합니다.

예:+123,$123, sFr123


getNegativePrefix

public String  getNegativePrefix()
부의 접두사를 가져옵니다.

예:-123, ($123) (부의 접미사(suffix)첨부), sFr-123


setNegativePrefix

public void setNegativePrefix(String  newValue)
부의 접두사를 설정합니다.

예:-123, ($123) (부의 접미사(suffix)첨부), sFr-123


getPositiveSuffix

public String  getPositiveSuffix()
정의 접미사(suffix)을 가져옵니다.

예: 123%


setPositiveSuffix

public void setPositiveSuffix(String  newValue)
정의 접미사(suffix)을 설정합니다.

예: 123%


getNegativeSuffix

public String  getNegativeSuffix()
부의 접미사(suffix)을 가져옵니다.

예:-123%, ($123) (정의 접미사(suffix)첨부)


setNegativeSuffix

public void setNegativeSuffix(String  newValue)
부의 접미사(suffix)을 설정합니다.

예: 123%


getMultiplier

public int getMultiplier()
퍼센트, 퍼밀 (1000), 및 그 유사 포맷으로 사용하는 승수를 가져옵니다.

관련 항목:
setMultiplier(int)

setMultiplier

public void setMultiplier(int newValue)
퍼센트, 퍼밀 (1000), 및 그 유사 포맷으로 사용하는 승수를 설정합니다. 퍼센트에서는, 승수로서 100 을, 접미사(suffix)로서 % 를 설정합니다 (아라비아어에서는 다른 퍼센트 기호를 사용한다). 퍼밀에서는, 승수로서 1000 을, 접미사(suffix)로서 '\u2030'를 설정합니다.

예:승수 100 의 경우, 1.23 의 포맷 결과는 "123","123" 의 해석 결과는 1.23 이 된다

관련 항목:
getMultiplier()

getGroupingSize

public int getGroupingSize()
그룹화 사이즈를 돌려줍니다. 그룹화 사이즈란, 수치의 정수 부분에 있어서의 단락 문자와 단락지어 문자의 사이의 자리수입니다. 예를 들어, 수치 123,456.78 의 경우, 그룹화 사이즈는 3 입니다.

관련 항목:
setGroupingSize(int) , NumberFormat.isGroupingUsed() , DecimalFormatSymbols.getGroupingSeparator()

setGroupingSize

public void setGroupingSize(int newValue)
그룹화 사이즈를 설정합니다. 그룹화 사이즈란, 수치의 정수 부분에 있어서의 단락 문자와 단락지어 문자의 사이의 자리수입니다. 예를 들어, 수치 123,456.78 의 경우, 그룹화 사이즈는 3 입니다.
인수로서 건네받은 값은 바이트에 변환되기 (위해)때문에, 정보가 없어질 가능성이 있습니다.

관련 항목:
getGroupingSize() , NumberFormat.setGroupingUsed(boolean) , DecimalFormatSymbols.setGroupingSeparator(char)

isDecimalSeparatorAlwaysShown

public boolean isDecimalSeparatorAlwaysShown()
정수와 구별하는 소수점의 동작을 가져옵니다 (소수정도에서는 소수점이 항상 표시된다).

예:Decimal ON:> 12345. ; OFF: 12345 -> 12345


setDecimalSeparatorAlwaysShown

public void setDecimalSeparatorAlwaysShown(boolean newValue)
정수와 구별하는 소수점의 동작을 설정합니다 (소수정도에서는 소수점이 항상 표시된다).

예:Decimal ON:> 12345. ; OFF: 12345 -> 12345


isParseBigDecimal

public boolean isParseBigDecimal()
parse(java.lang.String, java.text.ParsePosition) 메소드가 BigDecimal 를 돌려줄지 어떨지를 돌려줍니다. 디폴트 값는 false 입니다.

도입된 버젼:
1.5
관련 항목:
setParseBigDecimal(boolean)

setParseBigDecimal

public void setParseBigDecimal(boolean newValue)
parse(java.lang.String, java.text.ParsePosition) 메소드가 BigDecimal 를 돌려줄지 어떨지를 설정합니다.

도입된 버젼:
1.5
관련 항목:
isParseBigDecimal()

clone

public Object  clone()
표준 오버라이드(override)입니다. 시멘틱스는 바뀌지 않습니다.

오버라이드(override):
클래스 NumberFormat 내의 clone
반환값:
이 인스턴스의 복제
관련 항목:
Cloneable

equals

public boolean equals(Object  obj)
equals 를 오버라이드(override) 합니다.

오버라이드(override):
클래스 NumberFormat 내의 equals
파라미터:
obj - 비교 대상의 참조 객체
반환값:
obj 인수로 지정된 객체와 이 객체가 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
hashCode 를 오버라이드(override) 합니다.

오버라이드(override):
클래스 NumberFormat 내의 hashCode
반환값:
이 객체의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toPattern

public String  toPattern()
이 Format 객체의 현재 상태를 나타내는 패턴 캐릭터 라인을 종합 합니다.

관련 항목:
applyPattern(java.lang.String)

toLocalizedPattern

public String  toLocalizedPattern()
이 Format 객체의 현재 상태를 나타내는 지역 대응된 패턴 캐릭터 라인을 종합 합니다.

관련 항목:
applyPattern(java.lang.String)

applyPattern

public void applyPattern(String  pattern)
지정된 패턴을 이 Format 객체에 적용합니다. 패턴이란, 각종의 포맷 특성에 대한 간략 스펙입니다. 이러한 특성은, 각 설정 기능 메소드로 개별적으로 변경할 수도 있습니다.  

이 루틴으로 설정되는 정수의 자리수에 제한은 없습니다. 이것은, 일반인 최종 사용자의 요망이기 (위해)때문에입니다. 실제의 값을 설정하고 싶은 경우는, setMaximumInteger 를 사용해 주세요. 부의 수치의 경우는, 세미콜론으로 단락지은 2 번째의 패턴을 사용합니다.

예: "#,#00. 0#" -> 1,234.56

이것은, 최소 2 자리수의 정수, 1 개의 소수점, 최대 2 자리수의 소수를 의미합니다.

예:"#,#00. 0#;(#,#00. 0#)" (부의 수치는 괄호로 둘러싼다)

부의 패턴에서는, 최소와 최대의 자리수는 무시됩니다. 이것들은, 정의 패턴으로 설정되는 것이라고 보여집니다.

예외:
NullPointerException - pattern 가 null 의 경우
IllegalArgumentException - 지정된 패턴이 올바르지 않은 경우

applyLocalizedPattern

public void applyLocalizedPattern(String  pattern)
지정된 패턴을 이 Format 객체에 적용합니다. 이 패턴의 표기는, 지역 대응되고 있는 것이라고 보여집니다. 패턴이란, 각종의 포맷 특성에 대한 간략 스펙입니다. 이러한 특성은, 각 설정 기능 메소드로 개별적으로 변경할 수도 있습니다.  

이 루틴으로 설정되는 정수의 자리수에 제한은 없습니다. 이것은, 일반인 최종 사용자의 요망이기 (위해)때문에입니다. 실제의 값을 설정하고 싶은 경우는, setMaximumInteger 를 사용해 주세요. 부의 수치의 경우는, 세미콜론으로 단락지은 2 번째의 패턴을 사용합니다.

예: "#,#00. 0#" -> 1,234.56

이것은, 최소 2 자리수의 정수, 1 개의 소수점, 최대 2 자리수의 소수를 의미합니다.

예:"#,#00. 0#;(#,#00. 0#)" (부의 수치는 괄호로 둘러싼다)

부의 패턴에서는, 최소와 최대의 자리수는 무시됩니다. 이것들은, 정의 패턴으로 설정되는 것이라고 보여집니다.

예외:
NullPointerException - pattern 가 null 의 경우
IllegalArgumentException - 지정된 패턴이 올바르지 않은 경우

setMaximumIntegerDigits

public void setMaximumIntegerDigits(int newValue)
수치의 정수 부분의 최대 자리수를 설정합니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우,newValue 와 309 가운데 작은 편이 사용됩니다. 부의 입력치는 0 으로 옮겨집니다.

오버라이드(override):
클래스 NumberFormat 내의 setMaximumIntegerDigits
파라미터:
newValue - 정수의 최대 표시 자리수. 0 보다 작은 경우는 0 이 사용된다. 구상 서브 클래스에서는, 이 값의 상한을, 포맷 되는 수치의 종류에 적절한 값에 강제할 수 있는
관련 항목:
NumberFormat.setMaximumIntegerDigits(int)

setMinimumIntegerDigits

public void setMinimumIntegerDigits(int newValue)
수치의 정수 부분의 최소 자리수를 설정합니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우,newValue 와 309 가운데 작은 편이 사용됩니다. 부의 입력치는 0 으로 옮겨집니다.

오버라이드(override):
클래스 NumberFormat 내의 setMinimumIntegerDigits
파라미터:
newValue - 정수의 최소 표시 자리수. 0 보다 작은 경우는 0 이 사용된다. 구상 서브 클래스에서는, 이 값의 상한을, 포맷 되는 수치의 종류에 적절한 값에 강제할 수 있는
관련 항목:
NumberFormat.setMinimumIntegerDigits(int)

setMaximumFractionDigits

public void setMaximumFractionDigits(int newValue)
수치의 소수 부분의 최대 자리수를 설정합니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우,newValue 와 340 가운데 작은 편이 사용됩니다. 부의 입력치는 0 으로 옮겨집니다.

오버라이드(override):
클래스 NumberFormat 내의 setMaximumFractionDigits
파라미터:
newValue - 소수점의 최대 표시 자리수. 0 보다 작은 경우는 0 이 사용된다. 구상 서브 클래스에서는, 이 값의 상한을, 포맷 되는 수치의 종류에 적절한 값에 강제할 수 있는
관련 항목:
NumberFormat.setMaximumFractionDigits(int)

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)
수치의 소수 부분의 최소 자리수를 설정합니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우,newValue 와 340 가운데 작은 편이 사용됩니다. 부의 입력치는 0 으로 옮겨집니다.

오버라이드(override):
클래스 NumberFormat 내의 setMinimumFractionDigits
파라미터:
newValue - 소수점의 최소 표시 자리수. 0 보다 작은 경우는 0 이 사용된다. 구상 서브 클래스에서는, 이 값의 상한을, 포맷 되는 수치의 종류에 적절한 값에 강제할 수 있는
관련 항목:
NumberFormat.setMinimumFractionDigits(int)

getMaximumIntegerDigits

public int getMaximumIntegerDigits()
수치의 정수 부분의 최대 자리수를 가져옵니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우, 이 반환값과 309 가운데 작은 편이 사용됩니다.

오버라이드(override):
클래스 NumberFormat 내의 getMaximumIntegerDigits
관련 항목:
setMaximumIntegerDigits(int)

getMinimumIntegerDigits

public int getMinimumIntegerDigits()
수치의 정수 부분의 최소 자리수를 가져옵니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우, 이 반환값과 309 가운데 작은 편이 사용됩니다.

오버라이드(override):
클래스 NumberFormat 내의 getMinimumIntegerDigits
관련 항목:
setMinimumIntegerDigits(int)

getMaximumFractionDigits

public int getMaximumFractionDigits()
수치의 소수 부분의 최대 자리수를 가져옵니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우, 이 반환값과 340 가운데 작은 편이 사용됩니다.

오버라이드(override):
클래스 NumberFormat 내의 getMaximumFractionDigits
관련 항목:
setMaximumFractionDigits(int)

getMinimumFractionDigits

public int getMinimumFractionDigits()
수치의 소수 부분의 최소 자리수를 가져옵니다. BigInteger 객체 및 BigDecimal 객체 이외의 수치를 포맷 하는 경우, 이 반환값과 340 가운데 작은 편이 사용됩니다.

오버라이드(override):
클래스 NumberFormat 내의 getMinimumFractionDigits
관련 항목:
setMinimumFractionDigits(int)

getCurrency

public Currency  getCurrency()
통화치의 포맷시에, 이 10 진포맷이 사용하는 통화를 가져옵니다. 이 통화는, 이 수치 포맷의 기호에 대해서 DecimalFormatSymbols.getCurrency 를 호출하는 것으로 취득됩니다.

오버라이드(override):
클래스 NumberFormat 내의 getCurrency
반환값:
이 10 진포맷으로 사용되는 통화, 또는 null
도입된 버젼:
1.4

setCurrency

public void setCurrency(Currency  currency)
통화치의 포맷시에, 이 수치 포맷이 사용하는 통화를 설정합니다. 이것은, 수치 포맷이 사용하는 최소 소수 자리수 또는 최대 소수 자리수를 갱신하는 것이 아닙니다. 이 통화는, 이 수치 포맷의 기호에 대해서 DecimalFormatSymbols.setCurrency 를 호출하는 것으로 설정됩니다.

오버라이드(override):
클래스 NumberFormat 내의 setCurrency
파라미터:
currency - 이 10 진포맷으로 사용하는 새로운 통화
예외:
NullPointerException - currency 가 null 의 경우
도입된 버젼:
1.4

getRoundingMode

public RoundingMode  getRoundingMode()
이 DecimalFormat 로 사용되는 RoundingMode 를 가져옵니다.

오버라이드(override):
클래스 NumberFormat 내의 getRoundingMode
반환값:
이 DecimalFormat 에 사용되는 RoundingMode
도입된 버젼:
1.6
관련 항목:
setRoundingMode(RoundingMode)

setRoundingMode

public void setRoundingMode(RoundingMode  roundingMode)
이 DecimalFormat 로 사용되는 RoundingMode 를 설정합니다.

오버라이드(override):
클래스 NumberFormat 내의 setRoundingMode
파라미터:
roundingMode - 사용되는 RoundingMode
예외:
NullPointerException - roundingMode 가 null 의 경우
도입된 버젼:
1.6
관련 항목:
getRoundingMode()

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 도 참조해 주세요.