ChoiceFormat


ChoiceFormat java.text

Java 1.1 cloneable serializable

This class is a subclass of Format that converts a number to a String in a way reminiscent of a switch statement or an enumerated type. Each ChoiceFormat object has an array of doubles known as its limits and an array of strings known as its formats . When the format( ) method is called to format a number x , the ChoiceFormat finds an index i such that:

 limits[i] <= x < limits[i+1] 

If x is less than the first element of the array, the first element is used, and if it is greater than the last, the last element is used. Once the index i has been determined, it is used as the index into the array of strings, and the indexed string is returned as the result of the format( ) method.

A ChoiceFormat object may also be created by encoding its limits and formats into a single string known as its pattern . A typical pattern looks like the one below, used to return the singular or plural form of a word based on the numeric value passed to the format( ) method:

 ChoiceFormat cf = new ChoiceFormat("0#errors1#error2#errors"); 

A ChoiceFormat object created in this way returns the string "errors" when it formats the number 0 or any number greater than or equal to 2. It returns "error" when it formats the number 1. In the syntax shown here, note the pound sign ( # ) used to separate the limit number from the string that corresponds to that case and the vertical bar ( ) used to separate the individual cases. You can use the applyPattern( ) method to change the pattern used by a ChoiceFormat object; use toPattern( ) to query the pattern it uses.

Figure 15-4. java.text.ChoiceFormat

 public class  ChoiceFormat  extends NumberFormat {  // Public Constructors  public  ChoiceFormat  (String  newPattern  );        public  ChoiceFormat  (double[ ]  limits  , String[ ]  formats  );  // Public Class Methods  public static final double  nextDouble  (double  d  );        public static double  nextDouble  (double  d  , boolean  positive  );        public static final double  previousDouble  (double  d  );  // Public Instance Methods  public void  applyPattern  (String  newPattern  );        public Object[ ]  getFormats  ( );        public double[ ]  getLimits  ( );        public void  setChoices  (double[ ]  limits  , String[ ]  formats  );        public String  toPattern  ( );  // Public Methods Overriding NumberFormat  public Object  clone  ( );        public boolean  equals  (Object  obj  );        public StringBuffer  format  (long  number  , StringBuffer  toAppendTo  ,          FieldPosition  status  );        public StringBuffer  format  (double  number  , StringBuffer  toAppendTo  ,          FieldPosition  status  );        public int  hashCode  ( );        public Number  parse  (String  text  , ParsePosition  status  );   } 



Java In A Nutshell
Java In A Nutshell, 5th Edition
ISBN: 0596007736
EAN: 2147483647
Year: 2004
Pages: 1220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net