JavaTM 2 Platform
Standard Ed. 5.0

java.text
Ŭ·¡½º ChoiceFormat

java.lang.Object 
  »óÀ§¸¦ È®Àå java.text.Format 
      »óÀ§¸¦ È®Àå java.text.NumberFormat 
          »óÀ§¸¦ È®Àå java.text.ChoiceFormat
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Cloneable

public class ChoiceFormat
extends NumberFormat

ChoiceFormat¸¦ »ç¿ëÇϸé, ¾î´À ¹üÀ§ÀÇ ¼öÄ¡¿¡ Æ÷¸ËÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ°ÍÀº º¸Åë, º¹¼ö¸¦ ó¸®ÇÒ °æ¿ì¿¡ MessageFormat·Î »ç¿ëµË´Ï´Ù. ÀÌ ¼±Åà Ç׸ñÀº double ½Â¼ø ¸®½ºÆ®·Î ÁöÁ¤µÇ¾î °¢°¢ÀÇ Ç׸ñÀº ´ÙÀ½ÀÇ Ç׸ñ±îÁöÀÇ ÇÑÆíÀÌ ¿­¸° °£°ÝÀ» ÁöÁ¤ÇÕ´Ï´Ù.


 X matches j if and only if limit[j] <= X < limit[j+1]
 
ÀÏÄ¡ÇÏ´Â °ÍÀÌ ¾ø´Â °æ¿ì, ¼öÄ¡ (X)°¡ ³Ê¹« ÀÛÀºÁö ³Ê¹« Å«Áö¿¡ÀÇÇØ ÃÖÃÊ ¶Ç´Â ¸¶Áö¸· À妽º°¡ »ç¿ëµË´Ï´Ù. ¸®¹ÔÆ® ¹è¿­ÀÌ ½Â¼øÀÌ ¾Æ´Ñ °æ¿ì, Æ÷¸ËÀÇ °á°ú´Â ¿Ã¹Ù¸£Áö´Â ¾Ê½À´Ï´Ù. ChoiceFormat´Â ¶Ç, \u221E¸¦ infinity(INF)¿Í µ¿µîÇÑ °ÍÀ¸·ÎÀÇÇØ ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÁÖ: ChoiceFormat´Â ´Ù¸¥ Format Ŭ·¡½º¿Í´Â ´ÙÀ½ÀÇ Á¡À¸·Î½á ´Ù¸¨´Ï´Ù. ChoiceFormat°´Ã¼´Â getInstance ½ºÅ¸ÀÏ ÆÑÅ丮 ¸Þ¼­µå°¡ ¾Æ´Ï°í, »ý¼ºÀÚ À¸·Î ÀÛ¼ºÇÕ´Ï´Ù. ChoiceFormat¿¡ ¼­´Â ÁöÁ¤µÈ ·ÎÄÉÀÏ¿¡ ´ëÇؼ­ º¹ÀâÇÑ ¼Â¾÷Àº ÇÊ¿ä¾ø±â ¶§¹®¿¡ ÆÑÅ丮 ¸Þ¼­µå´Â ºÒÇÊ¿äÇÕ´Ï´Ù. ½ÇÁ¦, ChoiceFormat¿¡´Â ·ÎÄÉÀÏ °íÀ¯ÀÇ µ¿ÀÛÀº ±¸ÇöµÇÁö ¾Ê½À´Ï´Ù.

ChoiceFormat¸¦ ÀÛ¼ºÇÏ´Â °æ¿ì¿¡´Â Æ÷¸ËÀÇ ¹è¿­°ú ¸®¹ÔÆ®ÀÇ ¹è¿­À» ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹è¿­ÀÇ ±æÀÌ´Â °°Áö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

´ÙÀ½¿¡ Æ÷¸Ë°ú Çؼ®À» ½Ç½ÃÇÏ´Â °£´ÜÇÑ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.


 double[] limits = {1,2,3,4,5,6,7};
 String[] monthNames = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"};
 ChoiceFormat form = new ChoiceFormat(limits, monthNames);
 ParsePosition status = new ParsePosition(0);
 for (double i = 0.0; i <= 8.0; ++i) {
     status.setIndex(0);
     System.out.println(i + " -> " + form.format(i) + " -> "
                              + form.parse(form.format(i), status));
 }
 
´ÙÀ½¿¡ ÆÐÅÏ Æ÷¸ËÀ» »ç¿ëÇÏ°í ¸»À̾ߵ鿡°Ô º¹ÀâÇÑ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

 double[] filelimits = {0,1,2};
 String[] filepart = {"are no files","is one file","are {2} files"};
 ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
 Format[] testFormats = {fileform, null, NumberFormat.getInstance()};
 MessageFormat pattform = new MessageFormat("There {0} on {1}");
 pattform.setFormats(testFormats);
 Object[] testArgs = {null, "ADisk", null};
 for (int i = 0; i < 4; ++i) {
     testArgs[0] = new Integer(i);
     testArgs[2] = testArgs[0];
     System.out.println(pattform.format(testArgs));
 }
 

ChoiceFormat °´Ã¼ÀÇ ÆÐÅÏ ÁöÁ¤Àº ¸Å¿ì °£´ÜÇÕ´Ï´Ù. ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.


 ChoiceFormat fmt = new ChoiceFormat(      "-1#is negative| 0#is zero or fraction | 1#is one |1. 0<is 1+ |2#is two |2<is more than 2. ");
 System.out.println("Formatter Pattern : " + fmt.toPattern());

 System.out.println("Format with -INF : " + fmt.format(Double.NEGATIVE_INFINITY));
 System.out.println("Format with -1. 0 : " + fmt.format(-1. 0));
 System.out.println("Format with 0 : " + fmt.format(0));
 System.out.println("Format with 0.9 : " + fmt.format(0.9));
 System.out.println("Format with 1.0 : " + fmt.format(1));
 System.out.println("Format with 1.5 : " + fmt.format(1.5));
 System.out.println("Format with 2 : " + fmt.format(2));
 System.out.println("Format with 2.1 : " + fmt.format(2.1));
 System.out.println("Format with NaN : " + fmt.format(Double.NaN));
 System.out.println("Format with +INF : " + fmt.format(Double.POSITIVE_INFINITY));
 
Ãâ·Â °á°ú´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

 
Format with -INF : is negative Format with -1. 0 : is negative Format with 0 : is zero or fraction Format with 0.9 : is zero or fraction Format with 1.0 : is one Format with 1.5 : is 1+ Format with 2 : is two Format with 2.1 : is more than 2. Format with NaN : is negative Format with +INF : is more than 2.

µ¿±â

choice Æ÷¸ËÀº µ¿±âÈ­ µÇÁö ¾Ê½À´Ï´Ù. thread ¸¶´Ù ´Ù¸¥ Æ÷¸Ë ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. º¹¼öÀÇ thread°¡ Æ÷¸Ë¿¡ µ¿½Ã¿¡ ¾×¼¼½º ÇÏ´Â °æ¿ì´Â ¿ÜºÎÀûÀ¸·Î µ¿±âÈ­ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
DecimalFormat, MessageFormat, Á÷·ÄÈ­ µÈ Çü½Ä

Áßø(Nested) Ŭ·¡½º °³¿ä
 
Ŭ·¡½º java.text. NumberFormat ·ÎºÎÅÍ »ó¼ÓµÈ Áßø(Nested) Ŭ·¡½º/ÀÎÅÍÆäÀ̽º
NumberFormat.Field
 
ÇÊµå °³¿ä
 
Ŭ·¡½º java.text. NumberFormat ·ÎºÎÅÍ »ó¼ÓµÈ Çʵå
FRACTION_FIELD, INTEGER_FIELD
 
»ý¼ºÀÚ °³¿ä
ChoiceFormat (double[] limits, String [] formats)
          ÁöÁ¤µÈ ¸®¹ÔÆ®¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â Æ÷¸Ë¿¡ ÀÇÇØ °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.
ChoiceFormat (String  newPattern)
          ÁöÁ¤µÈ ÆÐÅÏ¿¡ ±Ù°ÅÇÏ´Â ¸®¹ÔÆ®¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â Æ÷¸Ë¿¡ ÀÇÇØ °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void applyPattern (String  newPattern)
          ÆÐÅÏÀ» ¼³Á¤ÇÕ´Ï´Ù.
 Object clone ()
          Cloneable¸¦ ¿À¹ö¶óÀ̵å(override) ÇÕ´Ï´Ù.
 boolean equals (Object  obj)
          2°³°¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù.
 StringBuffer format (double number, StringBuffer  toAppendTo, FieldPosition  status)
          Æ÷¸ËµÈ double ·Î ÆÐÅÏÀ» ¸®ÅÏÇÕ´Ï´Ù.
 StringBuffer format (long number, StringBuffer  toAppendTo, FieldPosition  status)
          Æ÷¸ËÀÇ Æ¯¼öÈ­ÀÔ´Ï´Ù.
 Object [] getFormats ()
          »ý¼ºÀÚ ¾È¿¡¼­ °Ç³×¹Þ´Â Æ÷¸ËÀ» ÃëµæÇÕ´Ï´Ù.
 double[] getLimits ()
          »ý¼ºÀÚ ¾È¿¡¼­ °Ç³×¹Þ´Â ¸®¹ÔÆ®¸¦ ÃëµæÇÕ´Ï´Ù.
 int hashCode ()
          ¸Þ¼¼Áö Æ÷¸Ë °´Ã¼ÀÇ Çؽà Äڵ带 »ý¼ºÇÕ´Ï´Ù.
static double nextDouble (double d)
          d º¸´Ù Å« ÃÖ¼ÒÀÇ double¸¦ ã¾Æ³À´Ï´Ù.
static double nextDouble (double d, boolean positive)
          d (if positive == true)º¸´Ù Å« ÃÖ¼ÒÀÇ double, ¶Ç´Â d (if positive == false)º¸´Ù ÀÛÀº ÃÖ´ëÀÇ double¸¦ ã¾Æ³À´Ï´Ù.
 Number parse (String  text, ParsePosition  status)
          ÀÔ·Â ÅؽºÆ®·ÎºÎÅÍ Number¸¦ Çؼ®ÇÕ´Ï´Ù.
static double previousDouble (double d)
          d º¸´Ù ÀÛÀº ÃÖ´ëÀÇ double¸¦ ã¾Æ³À´Ï´Ù.
 void setChoices (double[] limits, String [] formats)
          Æ÷¸Ë ½Ã¿¡ »ç¿ëÇÏ´Â ¼±Åà Ç׸ñÀ» ¼³Á¤ÇÕ´Ï´Ù.
 String toPattern ()
          ÆÐÅÏÀ» ÃëµæÇÕ´Ï´Ù.
 
Ŭ·¡½º java.text. NumberFormat ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
format, format, format, getAvailableLocales, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setCurrency, setGroupingUsed, setMaximumFractionDigits, setMaximumIntegerDigits, setMinimumFractionDigits, setMinimumIntegerDigits, setParseIntegerOnly
 
Ŭ·¡½º java.text. Format ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
format, formatToCharacterIterator, parseObject
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

ChoiceFormat

public ChoiceFormat(String  newPattern)
ÁöÁ¤µÈ ÆÐÅÏ¿¡ ±Ù°ÅÇÏ´Â ¸®¹ÔÆ®¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â Æ÷¸Ë¿¡ ÀÇÇØ °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
applyPattern(java.lang.String)

ChoiceFormat

public ChoiceFormat(double[] limits,
                    String [] formats)
ÁöÁ¤µÈ ¸®¹ÔÆ®¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â Æ÷¸Ë¿¡ ÀÇÇØ °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
setChoices(double[], java.lang.String[])
¸Þ¼­µåÀÇ »ó¼¼

applyPattern

public void applyPattern(String  newPattern)
ÆÐÅÏÀ» ¼³Á¤ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
newPattern - Ŭ·¡½ºÀÇ ¼³¸íÀ» ÂüÁ¶

toPattern

public String  toPattern()
ÆÐÅÏÀ» ÃëµæÇÕ´Ï´Ù.


setChoices

public void setChoices(double[] limits,
                       String [] formats)
Æ÷¸Ë ½Ã¿¡ »ç¿ëÇÏ´Â ¼±Åà Ç׸ñÀ» ¼³Á¤ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
limits - ±× Æ÷¸ËÀ¸·Î Çؼ®ÇÏ´Â 1¹ø Å« °ª. ÀÌ°ÍÀº ½Â¼øÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù. X¸¦ Æ÷¸Ë ÇÏ´Â °æ¿ì, limit[i] <= X < limit[i+1] À̸é, ¼±Åà Ç׸ñÀº i°¡ µÈ´Ù. ¸®¹ÔÆ® ¹è¿­ÀÌ ½Â¼øÀÌ ¾Æ´Ñ °æ¿ì, Æ÷¸ËÀÇ °á°ú´Â ¿Ã¹Ù¸£°Ô ¾È µÇ´Â
formats - °¢°¢ÀÇ ¸®¹ÔÆ®¿¡ ´ëÇؼ­ »ç¿ëÇÏ´Â Æ÷¸Ë. ÀÌ°ÍÀº Format °´Ã¼³ª ij¸¯ÅÍ ¶óÀÎÀÌ´Ù. °´Ã¼ Y ·Î Æ÷¸Ë ÇÏ´Â °æ¿ì, °´Ã¼°¡ NumberFormat À̸é, ((NumberFormat) Y). format(X)°¡ ºÒ·Á °£´Ù. ±×·¸Áö ¾ÊÀ¸¸é, Y.toString()°¡ ºÒ·Á °£´Ù

getLimits

public double[] getLimits()
»ý¼ºÀÚ ¾È¿¡¼­ °Ç³×¹Þ´Â ¸®¹ÔÆ®¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
¸®¹ÔÆ®

getFormats

public Object [] getFormats()
»ý¼ºÀÚ ¾È¿¡¼­ °Ç³×¹Þ´Â Æ÷¸ËÀ» ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
Æ÷¸Ë

format

public StringBuffer  format(long number,
                           StringBuffer  toAppendTo,
                           FieldPosition  status)
Æ÷¸ËÀÇ Æ¯¼öÈ­ÀÔ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ½ÇÁ¦·Î´Â format(double, StringBuffer, FieldPosition)¸¦ È£ÃâÇÕ´Ï´Ù. µû¶ó¼­, Áö¿ø µÇ´Â long ¹üÀ§´Â double ·Î Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ¹üÀ§¿¡ ÇÑÁ¤µË´Ï´Ù. ÀÌ°ÍÀÌ ½ÇÁ¦ÀÇ Á¦ÇÑÀÌ µÉ °ÍÀº ¾ø½À´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º NumberFormat ³»ÀÇ format
°ü·Ã Ç׸ñ:
Format.format(java.lang.Object)

format

public StringBuffer  format(double number,
                           StringBuffer  toAppendTo,
                           FieldPosition  status)
Æ÷¸ËµÈ double ·Î ÆÐÅÏÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º NumberFormat ³»ÀÇ format
ÆĶó¹ÌÅÍ:
number - Æ÷¸Ë ¹× ġȯµÇ´Â ¼öÄ¡
toAppendTo - ÅؽºÆ®°¡ Ãß°¡µÇ´Â À§Ä¡
status - »ç¿ëÇÒ ¼ö ÀÖ´Â »óÅ°¡ µ¹·ÁÁÖ°íÁöÁö ¾ÊÀº °ÍÀº ¹«½ÃÇÏ´Â
°ü·Ã Ç׸ñ:
Format.format(java.lang.Object)

parse

public Number  parse(String  text,
                    ParsePosition  status)
ÀÔ·Â ÅؽºÆ®·ÎºÎÅÍ Number¸¦ Çؼ®ÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º NumberFormat ³»ÀÇ parse
ÆĶó¹ÌÅÍ:
text - ¼Ò½º ÅؽºÆ®
status - ÀÔÃâ·Â ÆĶó¹ÌÅÍ. ÀԷ½ÿ¡´Â status.index Çʵå´Â Çؼ®µÇ´Â ¼Ò½º ÅؽºÆ®ÀÇ ÃÖÃÊÀÇ ¹®ÀÚ¸¦ ³ªÅ¸³À´Ï´Ù. Ãⱸ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´ø °æ¿ì´Â status.index´Â ¼Ò½º ÅؽºÆ®³»ÀÇ Çؼ®µÇ¾î ÀÖÁö ¾ÊÀº ÃÖÃÊÀÇ ¹®ÀÚ·Î ¼³Á¤µË´Ï´Ù. Ãⱸ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì´Â status.index´Â º¯°æµÇÁö ¾Ê°í, status.errorIndex´Â Çؼ®ÀÌ ½ÇÆÐÇÑ ¿øÀÎÀÌ µÈ ¹®ÀÚÀÇ ÃÖÃÊÀÇ À妽º·Î ¼³Á¤µË´Ï´Ù.
¹Ýȯ°ª:
Çؼ®µÈ ¼öÄ¡¸¦ ³ªÅ¸³»´Â Number
°ü·Ã Ç׸ñ:
NumberFormat.isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)

nextDouble

public static final double nextDouble(double d)
d º¸´Ù Å« ÃÖ¼ÒÀÇ double¸¦ ã¾Æ³À´Ï´Ù. NaNÀÎ °æ¿ì´Â °°Àº °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

ÇÑÆíÀÌ ¿­¸° °£°ÝÀ» ¸¸µå´Âµ¥ »ç¿ëÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
previousDouble(double)

previousDouble

public static final double previousDouble(double d)
d º¸´Ù ÀÛÀº ÃÖ´ëÀÇ double¸¦ ã¾Æ³À´Ï´Ù. NaNÀÎ °æ¿ì´Â °°Àº °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
nextDouble(double)

clone

public Object  clone()
Cloneable¸¦ ¿À¹ö¶óÀ̵å(override) ÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º NumberFormat ³»ÀÇ clone
¹Ýȯ°ª:
ÀÌ ÀνºÅϽºÀÇ º¹Á¦
°ü·Ã Ç׸ñ:
Cloneable

hashCode

public int hashCode()
¸Þ¼¼Áö Æ÷¸Ë °´Ã¼ÀÇ Çؽà Äڵ带 »ý¼ºÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º NumberFormat ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ °´Ã¼ÀÇ Çؽà Äڵ尪
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object  obj)
2°³ÀÌ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º NumberFormat ³»ÀÇ equals
ÆĶó¹ÌÅÍ:
obj - ºñ±³ ´ë»óÀÇ ÂüÁ¶ °´Ã¼
¹Ýȯ°ª:
obj Àμö·Î ÁöÁ¤µÈ °´Ã¼¿Í ÀÌ °´Ã¼°¡ µ¿ÀÏÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
Object.hashCode(), Hashtable

nextDouble

public static double nextDouble(double d,
                                boolean positive)
d (if positive == true)º¸´Ù Å« ÃÖ¼ÒÀÇ double, ¶Ç´Â d (if positive == false)º¸´Ù ÀÛÀº ÃÖ´ëÀÇ double¸¦ ã¾Æ³À´Ï´Ù. NaNÀÎ °æ¿ì´Â °°Àº °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.ÀÌ·¯ÇÑ ¸â¹ö ÇÔ¼ö°¡ Double.longBitsToDouble(long), Double.doubleToLongBits(double), Double.isNaN(double)°¡ ¾Æ´Ñ °æ¿ì, ºÎµ¿ ¼Ò¼öÁ¡ÀÇ Ç÷¡±×¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.


JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.