org.apache.commons.math.fraction

## Class FractionFormat

- java.lang.Object
- - java.text.Format
  - - java.text.NumberFormat
    - - org.apache.commons.math.fraction.AbstractFormat
      - - org.apache.commons.math.fraction.FractionFormat

All Implemented Interfaces:
  Serializable, Cloneable

Direct Known Subclasses:
  ProperFractionFormat

    public class FractionFormat
    extends AbstractFormat

Formats a Fraction number in proper format or improper format. The number format for each of the whole number, numerator and, denominator can be configured.

Since:
  1.1
Version:
  $Revision: 983921 $ $Date: 2010-08-10 12:46:06 +0200 (mar. 10 août 2010) $
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.text.NumberFormat

`NumberFormat.Field`

### Field Summary

Fields
`private static long` `serialVersionUID` Serializable version identifier

### Fields inherited from class org.apache.commons.math.fraction.AbstractFormat

`denominatorFormat, numeratorFormat`

### Fields inherited from class java.text.NumberFormat

`FRACTION_FIELD, INTEGER_FIELD`

### Constructor Summary

Constructors
Constructor and Description
`FractionFormat()` Create an improper formatting instance with the default number format for the numerator and denominator.
`FractionFormat(NumberFormat format)` Create an improper formatting instance with a custom number format for both the numerator and denominator.
`FractionFormat(NumberFormat numeratorFormat, NumberFormat denominatorFormat)` Create an improper formatting instance with a custom number format for the numerator and a custom number format for the denominator.

### Method Summary

Methods
`StringBuffer` `format(Fraction fraction, StringBuffer toAppendTo, FieldPosition pos)` Formats a `Fraction` object to produce a string.
`StringBuffer` `format(Object obj, StringBuffer toAppendTo, FieldPosition pos)` Formats an object and appends the result to a StringBuffer.
`static String` `formatFraction(Fraction f)` This static method calls formatFraction() on a default instance of FractionFormat.
`static Locale[]` `getAvailableLocales()` Get the set of locales for which complex formats are available.
`protected static NumberFormat` `getDefaultNumberFormat()` Create a default number format.
`static FractionFormat` `getImproperInstance()` Returns the default complex format for the current locale.
`static FractionFormat` `getImproperInstance(Locale locale)` Returns the default complex format for the given locale.
`static FractionFormat` `getProperInstance()` Returns the default complex format for the current locale.
`static FractionFormat` `getProperInstance(Locale locale)` Returns the default complex format for the given locale.
`Fraction` `parse(String source)` Parses a string to produce a `Fraction` object.
`Fraction` `parse(String source, ParsePosition pos)` Parses a string to produce a `Fraction` object.

### Methods inherited from class org.apache.commons.math.fraction.AbstractFormat

`format, format, getDefaultNumberFormat, getDenominatorFormat, getNumeratorFormat, parseAndIgnoreWhitespace, parseNextCharacter, setDenominatorFormat, setNumeratorFormat`

### Methods inherited from class java.text.NumberFormat

`clone, equals, format, format, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, getRoundingMode, hashCode, isGroupingUsed, isParseIntegerOnly, parseObject, setCurrency, setGroupingUsed, setMaximumFractionDigits, setMaximumIntegerDigits, setMinimumFractionDigits, setMinimumIntegerDigits, setParseIntegerOnly, setRoundingMode`

### Methods inherited from class java.text.Format

`format, formatToCharacterIterator, parseObject`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### serialVersionUID

    private static final long serialVersionUID

Serializable version identifier

See Also:
  Constant Field Values

### Constructor Detail

#### FractionFormat

    public FractionFormat()

Create an improper formatting instance with the default number format for the numerator and denominator.

#### FractionFormat

    public FractionFormat(NumberFormat format)

Create an improper formatting instance with a custom number format for both the numerator and denominator.

Parameters:
  `format` - the custom format for both the numerator and denominator.

#### FractionFormat

    public FractionFormat(NumberFormat numeratorFormat,
                  NumberFormat denominatorFormat)

Create an improper formatting instance with a custom number format for the numerator and a custom number format for the denominator.

Parameters:
  `numeratorFormat` - the custom format for the numerator.
  `denominatorFormat` - the custom format for the denominator.

### Method Detail

#### getAvailableLocales

    public static Locale[] getAvailableLocales()

Get the set of locales for which complex formats are available. This is the same set as the `NumberFormat` set.

Returns:
  available complex format locales.

#### formatFraction

    public static String formatFraction(Fraction f)

This static method calls formatFraction() on a default instance of FractionFormat.

Parameters:
  `f` - Fraction object to format
Returns:
  A formatted fraction in proper form.

#### getImproperInstance

    public static FractionFormat getImproperInstance()

Returns the default complex format for the current locale.

Returns:
  the default complex format.

#### getImproperInstance

    public static FractionFormat getImproperInstance(Locale locale)

Returns the default complex format for the given locale.

Parameters:
  `locale` - the specific locale used by the format.
Returns:
  the complex format specific to the given locale.

#### getProperInstance

    public static FractionFormat getProperInstance()

Returns the default complex format for the current locale.

Returns:
  the default complex format.

#### getProperInstance

    public static FractionFormat getProperInstance(Locale locale)

Returns the default complex format for the given locale.

Parameters:
  `locale` - the specific locale used by the format.
Returns:
  the complex format specific to the given locale.

#### getDefaultNumberFormat

    protected static NumberFormat getDefaultNumberFormat()

Create a default number format. The default number format is based on `NumberFormat.getNumberInstance(java.util.Locale)` with the only customizing is the maximum number of fraction digits, which is set to 0.

Returns:
  the default number format.

#### format

    public StringBuffer format(Fraction fraction,
                      StringBuffer toAppendTo,
                      FieldPosition pos)

Formats a `Fraction` object to produce a string. The fraction is output in improper format.

Parameters:
  `fraction` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
Returns:
  the value passed in as toAppendTo.

#### format

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

Formats an object and appends the result to a StringBuffer. `obj` must be either a `Fraction` object or a `Number` object. Any other type of object will result in an `IllegalArgumentException` being thrown.

Overrides:
  `format` in class `NumberFormat`
Parameters:
  `obj` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
Returns:
  the value passed in as toAppendTo.
Throws:
  `IllegalArgumentException` - is `obj` is not a valid type.
See Also:
  `Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

#### parse

    public Fraction parse(String source)
                   throws ParseException

Parses a string to produce a `Fraction` object.

Overrides:
  `parse` in class `NumberFormat`
Parameters:
  `source` - the string to parse
Returns:
  the parsed `Fraction` object.
Throws:
  `ParseException` - if the beginning of the specified string cannot be parsed.

#### parse

    public Fraction parse(String source,
                 ParsePosition pos)

Parses a string to produce a `Fraction` object. This method expects the string to be formatted as an improper fraction.

Specified by:
  `parse` in class `NumberFormat`
Parameters:
  `source` - the string to parse
  `pos` - input/ouput parsing parameter.
Returns:
  the parsed `Fraction` object.