This
class formats and parses numbers in a locale-specific way. As an
abstract class, it cannot be instantiated directly, but it provides a
number of static methods that return instances of a concrete subclass
you can use for formatting. The getInstance( )
method returns a NumberFormat object suitable for
normal formatting of numbers in either the default locale or in a
specified locale. getIntegerInstance( ),
getCurrencyInstance( ), and
getPercentInstance( ) return
NumberFormat objects for formatting numbers that
are integers, or represent monetary amounts or
percentages.
These methods return a NumberFormat suitable for
the default locale, or for the specified Locale
object. getAvailableLocales( ) returns an array of
locales for which NumberFormat objects are
available. In Java 1.4 and later, use setCurrency(
) to provide a java.util.Currency object
for use when formating monetary values. Note that the
NumberFormat class is not intended for the display
of very large or very small numbers that require exponential
notation, and it may not gracefully handle infinite or
NaN (not-a-number) values.
Once you have created a suitable
NumberFormat object, you can customize its
localeindependent behavior with setMaximumFractionDigits(
), setGroupingUsed( ), and similar
set methods. In order to customize the
locale-dependent behavior, you can use instanceof
to test if the NumberFormat object is an instance
of DecimalFormat, and, if so, cast it to that
type. The DecimalFormat class provides complete
control over number formatting. Note, however, that a
NumberFormat customized in this way may no longer
be appropriate for the desired locale.
After creating and customizing a
NumberFormat object, you can use the various
format( ) methods to convert numbers to strings or
string buffers, and you can use the parse( ) or
parseObject( ) methods to convert strings to
numbers. You can also use the formatToCharacterIterator(
) method inherited from Format (and
overridden by DecimalFormat) in place of
format( ). The constants defined by this class are
to be used by the FieldPosition object.
public abstract class
NumberFormat extends Format {
// Public Constructors
public
NumberFormat ( );
// Public Constants
public static final int
FRACTION_FIELD ; =1
public static final int
INTEGER_FIELD ; =0
// Nested Types
1.4 public static class
Field extends Format.Field;
// Public Class Methods
public static java.util.Locale[ ]
getAvailableLocales ( );
public static final NumberFormat
getCurrencyInstance ( );
public static NumberFormat
getCurrencyInstance (java.util.Locale
inLocale );
public static final NumberFormat
getInstance ( );
public static NumberFormat
getInstance (java.util.Locale
inLocale );
1.4 public static final NumberFormat
getIntegerInstance ( );
1.4 public static NumberFormat
getIntegerInstance (java.util.Locale
inLocale );
public static final NumberFormat
getNumberInstance ( );
public static NumberFormat
getNumberInstance (java.util.Locale
inLocale );
public static final NumberFormat
getPercentInstance ( );
public static NumberFormat
getPercentInstance (java.util.Locale
inLocale );
// Public Instance Methods
public final String
format (long
number );
public final String
format (double
number );
public abstract StringBuffer
format (long
number , StringBuffer
toAppendTo ,
FieldPosition
pos );
public abstract StringBuffer
format (double
number , StringBuffer
toAppendTo ,
FieldPosition
pos );
1.4 public java.util.Currency
getCurrency ( );
public int
getMaximumFractionDigits ( );
public int
getMaximumIntegerDigits ( );
public int
getMinimumFractionDigits ( );
public int
getMinimumIntegerDigits ( );
public boolean
isGroupingUsed ( );
public boolean
isParseIntegerOnly ( );
public Number
parse (String
source ) throws ParseException;
public abstract Number
parse (String
source , ParsePosition
parsePosition );
1.4 public void
setCurrency (java.util.Currency
currency );
public void
setGroupingUsed (boolean
newValue );
public void
setMaximumFractionDigits (int
newValue );
public void
setMaximumIntegerDigits (int
newValue );
public void
setMinimumFractionDigits (int
newValue );
public void
setMinimumIntegerDigits (int
newValue );
public void
setParseIntegerOnly (boolean
value );
// Public Methods Overriding Format
public Object
clone ( );
public StringBuffer
format (Object
number , StringBuffer
toAppendTo ,
FieldPosition
pos );
public final Object
parseObject (String
source , ParsePosition
pos );
// Public Methods Overriding Object
public boolean
equals (Object
obj );
public int
hashCode ( );
}