Package org.hipparchus.fraction
Class BigFractionFormat
- java.lang.Object
-
- java.text.Format
-
- java.text.NumberFormat
-
- org.hipparchus.fraction.BigFractionFormat
-
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
ProperBigFractionFormat
public class BigFractionFormat extends NumberFormat 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.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.text.NumberFormat
NumberFormat.Field
-
-
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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringBuffer
format(double value, StringBuffer buffer, FieldPosition position)
Formats a double value as a fraction and appends the result to a StringBuffer.StringBuffer
format(long value, StringBuffer buffer, FieldPosition position)
Formats a long value as a fraction and appends the result to a StringBuffer.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 aBigFraction
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.protected static NumberFormat
getDefaultNumberFormat()
Create a default number format.protected static NumberFormat
getDefaultNumberFormat(Locale locale)
Create a default number format.NumberFormat
getDenominatorFormat()
Access the denominator format.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.NumberFormat
getNumeratorFormat()
Access the numerator format.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 aBigFraction
object.BigFraction
parse(String source, ParsePosition pos)
Parses a string to produce aBigFraction
object.protected static void
parseAndIgnoreWhitespace(String source, ParsePosition pos)
Parsessource
until a non-whitespace character is found.protected BigInteger
parseNextBigInteger(String source, ParsePosition pos)
Parses a string to produce aBigInteger
.protected static char
parseNextCharacter(String source, ParsePosition pos)
Parsessource
until a non-whitespace character is found.-
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
-
-
-
-
Constructor Detail
-
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.- Throws:
NullArgumentException
- if the provided format is null.
-
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.- Throws:
NullArgumentException
- if either provided format is null.
-
-
Method Detail
-
getAvailableLocales
public static 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.
-
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 aBigFraction
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 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 StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
Formats an object and appends the result to a StringBuffer.obj
must be either aBigFraction
object or aBigInteger
object or aNumber
object. Any other type of object will result in anIllegalArgumentException
being thrown.- Overrides:
format
in classNumberFormat
- 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:
MathIllegalArgumentException
- ifobj
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 MathIllegalStateException
Parses a string to produce aBigFraction
object.- Overrides:
parse
in classNumberFormat
- Parameters:
source
- the string to parse- Returns:
- the parsed
BigFraction
object. - Throws:
MathIllegalStateException
- if the beginning of the specified string cannot be parsed.
-
parse
public BigFraction parse(String source, ParsePosition pos)
Parses a string to produce aBigFraction
object. This method expects the string to be formatted as an improper BigFraction.- Specified by:
parse
in classNumberFormat
- Parameters:
source
- the string to parsepos
- input/output parsing parameter.- Returns:
- the parsed
BigFraction
object.
-
parseNextBigInteger
protected BigInteger parseNextBigInteger(String source, ParsePosition pos)
Parses a string to produce aBigInteger
.- Parameters:
source
- the string to parsepos
- input/output parsing parameter.- Returns:
- a parsed
BigInteger
or null if string does not contain a BigInteger at the specified position
-
getDefaultNumberFormat
protected static NumberFormat getDefaultNumberFormat()
Create a default number format. The default number format is based onNumberFormat.getNumberInstance(java.util.Locale)
. The only customization is the maximum number of BigFraction digits, which is set to 0.- Returns:
- the default number format.
-
getDefaultNumberFormat
protected static NumberFormat getDefaultNumberFormat(Locale locale)
Create a default number format. The default number format is based onNumberFormat.getNumberInstance(java.util.Locale)
. The only customization is the maximum number of BigFraction digits, which is set to 0.- Parameters:
locale
- the specific locale used by the format.- Returns:
- the default number format specific to the given locale.
-
getDenominatorFormat
public NumberFormat getDenominatorFormat()
Access the denominator format.- Returns:
- the denominator format.
-
getNumeratorFormat
public NumberFormat getNumeratorFormat()
Access the numerator format.- Returns:
- the numerator format.
-
parseAndIgnoreWhitespace
protected static void parseAndIgnoreWhitespace(String source, ParsePosition pos)
Parsessource
until a non-whitespace character is found.- Parameters:
source
- the string to parsepos
- input/output parsing parameter. On output,pos
holds the index of the next non-whitespace character.
-
parseNextCharacter
protected static char parseNextCharacter(String source, ParsePosition pos)
Parsessource
until a non-whitespace character is found.- Parameters:
source
- the string to parsepos
- input/output parsing parameter.- Returns:
- the first non-whitespace character.
-
format
public StringBuffer format(double value, StringBuffer buffer, FieldPosition position)
Formats a double value as a fraction and appends the result to a StringBuffer.- Specified by:
format
in classNumberFormat
- Parameters:
value
- the double value to formatbuffer
- StringBuffer to append toposition
- On input: an alignment field, if desired. On output: the offsets of the alignment field- Returns:
- a reference to the appended buffer
- See Also:
NumberFormat.format(Object, StringBuffer, FieldPosition)
-
format
public StringBuffer format(long value, StringBuffer buffer, FieldPosition position)
Formats a long value as a fraction and appends the result to a StringBuffer.- Specified by:
format
in classNumberFormat
- Parameters:
value
- the long value to formatbuffer
- StringBuffer to append toposition
- On input: an alignment field, if desired. On output: the offsets of the alignment field- Returns:
- a reference to the appended buffer
- See Also:
NumberFormat.format(Object, StringBuffer, FieldPosition)
-
-