Class NumberFormat

java.lang.Object
java.text.Format
java.text.NumberFormat
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
ChoiceFormat, DecimalFormat

public abstract class NumberFormat extends Format

The base of the number formats, and the factory for the usual ones.

The factory methods answer a DecimalFormat with these patterns:

  • getInstance / getNumberInstance: #,##0.###
  • getIntegerInstance: #,##0, rounding to a whole number and parsing only the integer part
  • getPercentInstance: #,##0%
  • getCurrencyInstance: the currency symbol followed by #,##0.00, and a minus sign before the symbol for a negative amount

The separators and the currency symbol are those of DecimalFormatSymbols; read there how a locale is honoured.

Differences from the JDK
  • Rounding is always half-even, the JDK's default. There is no setRoundingMode, as the device has no java.math.RoundingMode.
  • There is no getCurrency/setCurrency, as the device has no java.util.Currency.
See Also:
  • Field Details

  • Constructor Details

    • NumberFormat

      protected NumberFormat()
  • Method Details

    • getInstance

      public static final NumberFormat getInstance()
    • getInstance

      public static NumberFormat getInstance(Locale inLocale)
    • getNumberInstance

      public static final NumberFormat getNumberInstance()
    • getNumberInstance

      public static NumberFormat getNumberInstance(Locale inLocale)
    • getIntegerInstance

      public static final NumberFormat getIntegerInstance()
    • getIntegerInstance

      public static NumberFormat getIntegerInstance(Locale inLocale)
    • getPercentInstance

      public static final NumberFormat getPercentInstance()
    • getPercentInstance

      public static NumberFormat getPercentInstance(Locale inLocale)
    • getCurrencyInstance

      public static final NumberFormat getCurrencyInstance()
    • getCurrencyInstance

      public static NumberFormat getCurrencyInstance(Locale inLocale)
    • format

      public StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)

      Formats a Number: an integral type as a long, anything else as a double.

      Throws
      • IllegalArgumentException: if number is not a Number
      Specified by:
      format in class Format
    • format

      public final String format(double number)
    • format

      public final String format(long number)
    • format

      public abstract StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos)
    • format

      public abstract StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos)
    • parse

      public abstract Number parse(String source, ParsePosition parsePosition)
      Parses a number starting at parsePosition, which is advanced past what was read. On failure the position is left alone, its error index is set, and null is returned. The result is a Long when the text is a whole number that fits one, and a Double otherwise.
    • parse

      public Number parse(String source) throws ParseException
      Throws:
      ParseException
    • parseObject

      public final Object parseObject(String source, ParsePosition pos)
      Description copied from class: Format
      Parses an object from source starting at pos. On success the index of pos is moved past what was read; on failure it is left alone, the error index is set and null is returned.
      Specified by:
      parseObject in class Format
    • isParseIntegerOnly

      public boolean isParseIntegerOnly()
    • setParseIntegerOnly

      public void setParseIntegerOnly(boolean value)
    • isGroupingUsed

      public boolean isGroupingUsed()
    • setGroupingUsed

      public void setGroupingUsed(boolean newValue)
    • getMaximumIntegerDigits

      public int getMaximumIntegerDigits()
    • setMaximumIntegerDigits

      public void setMaximumIntegerDigits(int newValue)
    • getMinimumIntegerDigits

      public int getMinimumIntegerDigits()
    • setMinimumIntegerDigits

      public void setMinimumIntegerDigits(int newValue)
    • getMaximumFractionDigits

      public int getMaximumFractionDigits()
    • setMaximumFractionDigits

      public void setMaximumFractionDigits(int newValue)
    • getMinimumFractionDigits

      public int getMinimumFractionDigits()
    • setMinimumFractionDigits

      public void setMinimumFractionDigits(int newValue)
    • clone

      public abstract Object clone()
      A copy of this format. Every subclass in this package implements it by copying its fields.
      Overrides:
      clone in class Object
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable. The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables. As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Description copied from class: Object
      Indicates whether some other object is "equal to" this one. The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false. The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).
      Overrides:
      equals in class Object