Package 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:
java.io.Serializable
,java.lang.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
-
-
Field Summary
-
Fields inherited from class org.apache.commons.math.fraction.AbstractFormat
denominatorFormat, numeratorFormat
-
-
Constructor Summary
Constructors Constructor Description FractionFormat()
Create an improper formatting instance with the default number format for the numerator and denominator.FractionFormat(java.text.NumberFormat format)
Create an improper formatting instance with a custom number format for both the numerator and denominator.FractionFormat(java.text.NumberFormat numeratorFormat, java.text.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringBuffer
format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats an object and appends the result to a StringBuffer.java.lang.StringBuffer
format(Fraction fraction, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats aFraction
object to produce a string.static java.lang.String
formatFraction(Fraction f)
This static method calls formatFraction() on a default instance of FractionFormat.static java.util.Locale[]
getAvailableLocales()
Get the set of locales for which complex formats are available.protected static java.text.NumberFormat
getDefaultNumberFormat()
Create a default number format.static FractionFormat
getImproperInstance()
Returns the default complex format for the current locale.static FractionFormat
getImproperInstance(java.util.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(java.util.Locale locale)
Returns the default complex format for the given locale.Fraction
parse(java.lang.String source)
Parses a string to produce aFraction
object.Fraction
parse(java.lang.String source, java.text.ParsePosition pos)
Parses a string to produce aFraction
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
-
-
-
-
Constructor Detail
-
FractionFormat
public FractionFormat()
Create an improper formatting instance with the default number format for the numerator and denominator.
-
FractionFormat
public FractionFormat(java.text.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(java.text.NumberFormat numeratorFormat, java.text.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 java.util.Locale[] getAvailableLocales()
Get the set of locales for which complex formats are available. This is the same set as theNumberFormat
set.- Returns:
- available complex format locales.
-
formatFraction
public static java.lang.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(java.util.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(java.util.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 java.text.NumberFormat getDefaultNumberFormat()
Create a default number format. The default number format is based onNumberFormat.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 java.lang.StringBuffer format(Fraction fraction, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats aFraction
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 appendedpos
- On input: an alignment field, if desired. On output: the offsets of the alignment field- Returns:
- the value passed in as toAppendTo.
-
format
public java.lang.StringBuffer format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats an object and appends the result to a StringBuffer.obj
must be either aFraction
object or aNumber
object. Any other type of object will result in anIllegalArgumentException
being thrown.- Overrides:
format
in classjava.text.NumberFormat
- Parameters:
obj
- the object to format.toAppendTo
- where the text is to be appendedpos
- On input: an alignment field, if desired. On output: the offsets of the alignment field- Returns:
- the value passed in as toAppendTo.
- Throws:
java.lang.IllegalArgumentException
- isobj
is not a valid type.- See Also:
Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
-
parse
public Fraction parse(java.lang.String source) throws java.text.ParseException
Parses a string to produce aFraction
object.- Overrides:
parse
in classjava.text.NumberFormat
- Parameters:
source
- the string to parse- Returns:
- the parsed
Fraction
object. - Throws:
java.text.ParseException
- if the beginning of the specified string cannot be parsed.
-
parse
public Fraction parse(java.lang.String source, java.text.ParsePosition pos)
Parses a string to produce aFraction
object. This method expects the string to be formatted as an improper fraction.- Specified by:
parse
in classjava.text.NumberFormat
- Parameters:
source
- the string to parsepos
- input/ouput parsing parameter.- Returns:
- the parsed
Fraction
object.
-
-