Client and backend. This class is shared: the same code is compiled into your app and into your server, so everything on this page works in both.

public abstract class NumberFormat

  1. Object
  2. Format
  3. NumberFormat

ImplementsCloneable, Serializable

Known subtypesChoiceFormat, DecimalFormat

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.

Fields

public static final int INTEGER_FIELD = 0Names the integer part of a formatted number to a FieldPosition.
public static final int FRACTION_FIELD = 1Names the fraction part of a formatted number to a FieldPosition.

Constructors

protected NumberFormat()

Methods

public static final NumberFormat getInstance()
public static NumberFormat getInstance(Locale inLocale)
public static final NumberFormat getNumberInstance()
public static NumberFormat getNumberInstance(Locale inLocale)
public static final NumberFormat getIntegerInstance()
public static NumberFormat getIntegerInstance(Locale inLocale)
public static final NumberFormat getPercentInstance()
public static NumberFormat getPercentInstance(Locale inLocale)
public static final NumberFormat getCurrencyInstance()
public static NumberFormat getCurrencyInstance(Locale inLocale)
public StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)Formats a Number: an integral type as a long, anything else as a double.
public final String format(double number)
public final String format(long number)
public abstract StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos)
public abstract StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos)
public abstract Number parse(String source, ParsePosition parsePosition)Parses a number starting at parsePosition, which is advanced past what was read.
public Number parse(String source) throws ParseException
public final Object parseObject(String source, ParsePosition pos)Parses an object from source starting at pos.
public boolean isParseIntegerOnly()
public void setParseIntegerOnly(boolean value)
public boolean isGroupingUsed()
public void setGroupingUsed(boolean newValue)
public int getMaximumIntegerDigits()
public void setMaximumIntegerDigits(int newValue)
public int getMinimumIntegerDigits()
public void setMinimumIntegerDigits(int newValue)
public int getMaximumFractionDigits()
public void setMaximumFractionDigits(int newValue)
public int getMinimumFractionDigits()
public void setMinimumFractionDigits(int newValue)
public abstract Object clone()A copy of this format.
public int hashCode()Returns a hash code value for the object.
public boolean equals(Object obj)Indicates whether some other object is “equal to” this one.

Inherited methods

Field details

INTEGER_FIELD

public static final int INTEGER_FIELD = 0
Names the integer part of a formatted number to a FieldPosition.

FRACTION_FIELD

public static final int FRACTION_FIELD = 1
Names the fraction part of a formatted number to a FieldPosition.

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

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

parseObject

public final Object parseObject(String source, ParsePosition pos)
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.

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.

hashCode

public int hashCode()
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.)

equals

public boolean equals(Object obj)
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).