Package org.apache.commons.math3.fraction

# Class BigFractionFormat

java.lang.Object
java.text.Format
java.text.NumberFormat
org.apache.commons.math3.fraction.AbstractFormat
org.apache.commons.math3.fraction.BigFractionFormat

All Implemented Interfaces:
  `Serializable`, `Cloneable`

Direct Known Subclasses:
  `ProperBigFractionFormat`

public class BigFractionFormat extends AbstractFormat implements Serializable
Formats a BigFraction number in proper format or improper format.

The number format for each of the whole number, numerator and, denominator can be configured.

Since:
  2.0
See Also:
  - Serialized Form

## Nested Class Summary

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

`NumberFormat.Field, NumberFormat.Style`

## Field Summary

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

`FRACTION_FIELD, INTEGER_FIELD`

## Constructor Summary

Constructors
Constructor
Description
`BigFractionFormat()`
Create an improper formatting instance with the default number format for the numerator and denominator.
`BigFractionFormat(NumberFormat format)`
Create an improper formatting instance with a custom number format for both the numerator and denominator.
`BigFractionFormat(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

Modifier and Type
Method
Description
`StringBuffer`
`format(Object obj, StringBuffer toAppendTo, FieldPosition pos)`
Formats an object and appends the result to a StringBuffer.
`StringBuffer`
`format(BigFraction BigFraction, StringBuffer toAppendTo, FieldPosition pos)`
Formats a `BigFraction` object to produce a string.
`static String`
`formatBigFraction(BigFraction f)`
This static method calls formatBigFraction() on a default instance of BigFractionFormat.
`static Locale[]`
`getAvailableLocales()`
Get the set of locales for which complex formats are available.
`static BigFractionFormat`
`getImproperInstance()`
Returns the default complex format for the current locale.
`static BigFractionFormat`
`getImproperInstance(Locale locale)`
Returns the default complex format for the given locale.
`static BigFractionFormat`
`getProperInstance()`
Returns the default complex format for the current locale.
`static BigFractionFormat`
`getProperInstance(Locale locale)`
Returns the default complex format for the given locale.
`BigFraction`
`parse(String source)`
Parses a string to produce a `BigFraction` object.
`BigFraction`
`parse(String source, ParsePosition pos)`
Parses a string to produce a `BigFraction` object.
`protected BigInteger`
`parseNextBigInteger(String source, ParsePosition pos)`
Parses a string to produce a `BigInteger`.

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

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

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

`clone, equals, format, format, getCompactNumberInstance, getCompactNumberInstance, 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`

## Constructor Details

### BigFractionFormat

public BigFractionFormat()
Create an improper formatting instance with the default number format for the numerator and denominator.

### BigFractionFormat

public BigFractionFormat(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.

### BigFractionFormat

public BigFractionFormat(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 Details

### 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.

### formatBigFraction

public static String formatBigFraction(BigFraction f)
This static method calls formatBigFraction() on a default instance of BigFractionFormat.

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

### getImproperInstance

public static BigFractionFormat getImproperInstance()
Returns the default complex format for the current locale.

Returns:
  the default complex format.

### getImproperInstance

public static BigFractionFormat 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 BigFractionFormat getProperInstance()
Returns the default complex format for the current locale.

Returns:
  the default complex format.

### getProperInstance

public static BigFractionFormat 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.

### format

public StringBuffer format(BigFraction BigFraction, StringBuffer toAppendTo, FieldPosition pos)
Formats a `BigFraction` object to produce a string. The BigFraction is output in improper format.

Parameters:
  `BigFraction` - 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 `BigFraction` object or a `BigInteger` 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:
  `MathIllegalArgumentException` - if `obj` is not a valid type.
See Also:
  - `Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

### parse

public BigFraction parse(String source) throws MathParseException
Parses a string to produce a `BigFraction` object.

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

### parse

public BigFraction parse(String source, ParsePosition pos)
Parses a string to produce a `BigFraction` object. This method expects the string to be formatted as an improper BigFraction.

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

### parseNextBigInteger

protected BigInteger parseNextBigInteger(String source, ParsePosition pos)
Parses a string to produce a `BigInteger`.

Parameters:
  `source` - the string to parse
  `pos` - input/output parsing parameter.
Returns:
  a parsed `BigInteger` or null if string does not contain a BigInteger at the specified position