## org.apache.commons.math3.fraction
Class FractionFormat

    java.lang.Object
      java.text.Format
          java.text.NumberFormat
              org.apache.commons.math3.fraction.AbstractFormat
                  org.apache.commons.math3.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:
  $Id: FractionFormat.java 1416643 2012-12-03 19:37:14Z tn $
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.text.NumberFormat
`NumberFormat.Field`

Field Summary
`private static long` `serialVersionUID` Serializable version identifier

Fields inherited from class java.text.NumberFormat
`FRACTION_FIELD, INTEGER_FIELD`

Constructor Summary
`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
`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.math3.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)
                        throws FractionConversionException,
                               MathIllegalArgumentException

  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:
    `FractionConversionException` - if the number cannot be converted to a fraction
    `MathIllegalArgumentException` - if `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 MathParseException

  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:
    `MathParseException` - 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/output parsing parameter.
  Returns:
    the parsed `Fraction` object.

Copyright (c) 2003-2013 Apache Software Foundation