Package org.hipparchus.fraction
Class FractionFormat
java.lang.Object
java.text.Format
java.text.NumberFormat
org.hipparchus.fraction.FractionFormat
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
ProperFractionFormat
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.
- See Also:
-
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
ConstructorsConstructorDescriptionCreate 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
Modifier and TypeMethodDescriptionformat(double value, StringBuffer buffer, FieldPosition position) Formats a double value as a fraction and appends the result to a StringBuffer.format(long value, StringBuffer buffer, FieldPosition position) Formats a long value as a fraction and appends the result to a StringBuffer.format(Object obj, StringBuffer toAppendTo, FieldPosition pos) Formats an object and appends the result to a StringBuffer.format(Fraction fraction, StringBuffer toAppendTo, FieldPosition pos) Formats aFractionobject to produce a string.static StringThis static method calls formatFraction() on a default instance of FractionFormat.static Locale[]Get the set of locales for which complex formats are available.protected static NumberFormatCreate a default number format.protected static NumberFormatgetDefaultNumberFormat(Locale locale) Create a default number format.Access the denominator format.static FractionFormatReturns the default complex format for the current locale.static FractionFormatgetImproperInstance(Locale locale) Returns the default complex format for the given locale.Access the numerator format.static FractionFormatReturns the default complex format for the current locale.static FractionFormatgetProperInstance(Locale locale) Returns the default complex format for the given locale.Parses a string to produce aFractionobject.parse(String source, ParsePosition pos) Parses a string to produce aFractionobject.protected static voidparseAndIgnoreWhitespace(String source, ParsePosition pos) Parsessourceuntil a non-whitespace character is found.protected static charparseNextCharacter(String source, ParsePosition pos) Parsessourceuntil a non-whitespace character is found.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, setRoundingModeMethods inherited from class java.text.Format
format, formatToCharacterIterator, parseObject
-
Constructor Details
-
FractionFormat
public FractionFormat()Create an improper formatting instance with the default number format for the numerator and denominator. -
FractionFormat
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.
-
FractionFormat
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 Details
-
getAvailableLocales
Get the set of locales for which complex formats are available. This is the same set as theNumberFormatset.- Returns:
- available complex format locales.
-
formatFraction
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
Returns the default complex format for the current locale.- Returns:
- the default complex format.
-
getImproperInstance
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
Returns the default complex format for the current locale.- Returns:
- the default complex format.
-
getProperInstance
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
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
Formats aFractionobject 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 StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) throws MathIllegalArgumentException, MathIllegalStateException Formats an object and appends the result to a StringBuffer.objmust be either aFractionobject or aNumberobject. Any other type of object will result in anIllegalArgumentExceptionbeing thrown.- Overrides:
formatin 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:
MathIllegalStateException- if the number cannot be converted to a fractionMathIllegalArgumentException- ifobjis not a valid type.- See Also:
-
parse
Parses a string to produce aFractionobject.- Overrides:
parsein classNumberFormat- Parameters:
source- the string to parse- Returns:
- the parsed
Fractionobject. - Throws:
MathIllegalStateException- if the beginning of the specified string cannot be parsed.
-
parse
Parses a string to produce aFractionobject. This method expects the string to be formatted as an improper fraction.- Specified by:
parsein classNumberFormat- Parameters:
source- the string to parsepos- input/output parsing parameter.- Returns:
- the parsed
Fractionobject.
-
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.- Parameters:
locale- the specific locale used by the format.- Returns:
- the default number format specific to the given locale.
-
getDenominatorFormat
Access the denominator format.- Returns:
- the denominator format.
-
getNumeratorFormat
Access the numerator format.- Returns:
- the numerator format.
-
parseAndIgnoreWhitespace
Parsessourceuntil a non-whitespace character is found.- Parameters:
source- the string to parsepos- input/output parsing parameter. On output,posholds the index of the next non-whitespace character.
-
parseNextCharacter
Parsessourceuntil a non-whitespace character is found.- Parameters:
source- the string to parsepos- input/output parsing parameter.- Returns:
- the first non-whitespace character.
-
format
Formats a double value as a fraction and appends the result to a StringBuffer.- Specified by:
formatin 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:
-
format
Formats a long value as a fraction and appends the result to a StringBuffer.- Specified by:
formatin 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:
-