Package org.apache.commons.math3.fraction

# Class ProperBigFractionFormat

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`

public class ProperBigFractionFormat extends BigFractionFormat
Formats a BigFraction number in proper format. The number format for each of the whole number, numerator and, denominator can be configured.

Minus signs are only allowed in the whole number part - i.e., "-3 1/2" is legitimate and denotes -7/2, but "-3 -1/2" is invalid and will result in a `ParseException`.

Since:
  1.1
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
`ProperBigFractionFormat()`
Create a proper formatting instance with the default number format for the whole, numerator, and denominator.
`ProperBigFractionFormat(NumberFormat format)`
Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.
`ProperBigFractionFormat(NumberFormat wholeFormat, NumberFormat numeratorFormat, NumberFormat denominatorFormat)`
Create a proper formatting instance with a custom number format for each of the whole, numerator, and denominator.

## Method Summary

Modifier and Type
Method
Description
`StringBuffer`
`format(BigFraction fraction, StringBuffer toAppendTo, FieldPosition pos)`
Formats a `BigFraction` object to produce a string.
`NumberFormat`
`getWholeFormat()`
Access the whole format.
`BigFraction`
`parse(String source, ParsePosition pos)`
Parses a string to produce a `BigFraction` object.
`void`
`setWholeFormat(NumberFormat format)`
Modify the whole format.

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

`format, formatBigFraction, getAvailableLocales, getImproperInstance, getImproperInstance, getProperInstance, getProperInstance, parse, parseNextBigInteger`

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

### ProperBigFractionFormat

public ProperBigFractionFormat()
Create a proper formatting instance with the default number format for the whole, numerator, and denominator.

### ProperBigFractionFormat

public ProperBigFractionFormat(NumberFormat format)
Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.

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

### ProperBigFractionFormat

public ProperBigFractionFormat(NumberFormat wholeFormat, NumberFormat numeratorFormat, NumberFormat denominatorFormat)
Create a proper formatting instance with a custom number format for each of the whole, numerator, and denominator.

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

## Method Details

### format

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

Overrides:
  `format` in class `BigFractionFormat`
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.

### getWholeFormat

public NumberFormat getWholeFormat()
Access the whole format.

Returns:
  the whole format.

### 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 a proper BigFraction.

Minus signs are only allowed in the whole number part - i.e., "-3 1/2" is legitimate and denotes -7/2, but "-3 -1/2" is invalid and will result in a `ParseException`.

Overrides:
  `parse` in class `BigFractionFormat`
Parameters:
  `source` - the string to parse
  `pos` - input/ouput parsing parameter.
Returns:
  the parsed `BigFraction` object.

### setWholeFormat

public void setWholeFormat(NumberFormat format)
Modify the whole format.

Parameters:
  `format` - The new whole format value.
Throws:
  `NullArgumentException` - if `format` is `null`.