Class Fraction
- java.lang.Object
 - 
- java.lang.Number
 - 
- org.apache.commons.lang.math.Fraction
 
 
 
- 
- All Implemented Interfaces:
 java.io.Serializable,java.lang.Comparable
@Deprecated(since="2021-04-30") public final class Fraction extends java.lang.Number implements java.lang.ComparableDeprecated.Commons Lang 2 is in maintenance mode. Commons Lang 3 should be used instead.Fractionis aNumberimplementation that stores fractions accurately.This class is immutable, and interoperable with most methods that accept a
Number.- Since:
 - 2.0
 - See Also:
 - Serialized Form
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static FractionFOUR_FIFTHSDeprecated.Fractionrepresentation of 4/5.static FractionONEDeprecated.Fractionrepresentation of 1.static FractionONE_FIFTHDeprecated.Fractionrepresentation of 1/5.static FractionONE_HALFDeprecated.Fractionrepresentation of 1/2.static FractionONE_QUARTERDeprecated.Fractionrepresentation of 1/4.static FractionONE_THIRDDeprecated.Fractionrepresentation of 1/3.static FractionTHREE_FIFTHSDeprecated.Fractionrepresentation of 3/5.static FractionTHREE_QUARTERSDeprecated.Fractionrepresentation of 3/4.static FractionTWO_FIFTHSDeprecated.Fractionrepresentation of 2/5.static FractionTWO_QUARTERSDeprecated.Fractionrepresentation of 2/4.static FractionTWO_THIRDSDeprecated.Fractionrepresentation of 2/3.static FractionZERODeprecated.Fractionrepresentation of 0. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Fractionabs()Deprecated.Gets a fraction that is the positive equivalent of this one.Fractionadd(Fraction fraction)Deprecated.Adds the value of this fraction to another, returning the result in reduced form.intcompareTo(java.lang.Object object)Deprecated.Compares this object to another based on size.FractiondivideBy(Fraction fraction)Deprecated.Divide the value of this fraction by another.doubledoubleValue()Deprecated.Gets the fraction as adouble.booleanequals(java.lang.Object obj)Deprecated.Compares this fraction to another object to test if they are equal.floatfloatValue()Deprecated.Gets the fraction as afloat.intgetDenominator()Deprecated.Gets the denominator part of the fraction.static FractiongetFraction(double value)Deprecated.Creates aFractioninstance from adoublevalue.static FractiongetFraction(int numerator, int denominator)Deprecated.Creates aFractioninstance with the 2 parts of a fraction Y/Z.static FractiongetFraction(int whole, int numerator, int denominator)Deprecated.Creates aFractioninstance with the 3 parts of a fraction X Y/Z.static FractiongetFraction(java.lang.String str)Deprecated.Creates a Fraction from aString.intgetNumerator()Deprecated.Gets the numerator part of the fraction.intgetProperNumerator()Deprecated.Gets the proper numerator, always positive.intgetProperWhole()Deprecated.Gets the proper whole part of the fraction.static FractiongetReducedFraction(int numerator, int denominator)Deprecated.Creates a reducedFractioninstance with the 2 parts of a fraction Y/Z.inthashCode()Deprecated.Gets a hashCode for the fraction.intintValue()Deprecated.Gets the fraction as anint.Fractioninvert()Deprecated.Gets a fraction that is the inverse (1/fraction) of this one.longlongValue()Deprecated.Gets the fraction as along.FractionmultiplyBy(Fraction fraction)Deprecated.Multiplies the value of this fraction by another, returning the result in reduced form.Fractionnegate()Deprecated.Gets a fraction that is the negative (-fraction) of this one.Fractionpow(int power)Deprecated.Gets a fraction that is raised to the passed in power.Fractionreduce()Deprecated.Reduce the fraction to the smallest values for the numerator and denominator, returning the result.Fractionsubtract(Fraction fraction)Deprecated.Subtracts the value of another fraction from the value of this one, returning the result in reduced form.java.lang.StringtoProperString()Deprecated.Gets the fraction as a properStringin the format X Y/Z.java.lang.StringtoString()Deprecated.Gets the fraction as aString. 
 - 
 
- 
- 
Field Detail
- 
ZERO
public static final Fraction ZERO
Deprecated.Fractionrepresentation of 0. 
- 
ONE
public static final Fraction ONE
Deprecated.Fractionrepresentation of 1. 
- 
ONE_HALF
public static final Fraction ONE_HALF
Deprecated.Fractionrepresentation of 1/2. 
- 
ONE_THIRD
public static final Fraction ONE_THIRD
Deprecated.Fractionrepresentation of 1/3. 
- 
TWO_THIRDS
public static final Fraction TWO_THIRDS
Deprecated.Fractionrepresentation of 2/3. 
- 
ONE_QUARTER
public static final Fraction ONE_QUARTER
Deprecated.Fractionrepresentation of 1/4. 
- 
TWO_QUARTERS
public static final Fraction TWO_QUARTERS
Deprecated.Fractionrepresentation of 2/4. 
- 
THREE_QUARTERS
public static final Fraction THREE_QUARTERS
Deprecated.Fractionrepresentation of 3/4. 
- 
ONE_FIFTH
public static final Fraction ONE_FIFTH
Deprecated.Fractionrepresentation of 1/5. 
- 
TWO_FIFTHS
public static final Fraction TWO_FIFTHS
Deprecated.Fractionrepresentation of 2/5. 
- 
THREE_FIFTHS
public static final Fraction THREE_FIFTHS
Deprecated.Fractionrepresentation of 3/5. 
- 
FOUR_FIFTHS
public static final Fraction FOUR_FIFTHS
Deprecated.Fractionrepresentation of 4/5. 
 - 
 
- 
Method Detail
- 
getFraction
public static Fraction getFraction(int numerator, int denominator)
Deprecated.Creates a
Fractioninstance with the 2 parts of a fraction Y/Z.Any negative signs are resolved to be on the numerator.
- Parameters:
 numerator- the numerator, for example the three in 'three sevenths'denominator- the denominator, for example the seven in 'three sevenths'- Returns:
 - a new fraction instance
 - Throws:
 java.lang.ArithmeticException- if the denomiator iszero
 
- 
getFraction
public static Fraction getFraction(int whole, int numerator, int denominator)
Deprecated.Creates a
Fractioninstance with the 3 parts of a fraction X Y/Z.The negative sign must be passed in on the whole number part.
- Parameters:
 whole- the whole number, for example the one in 'one and three sevenths'numerator- the numerator, for example the three in 'one and three sevenths'denominator- the denominator, for example the seven in 'one and three sevenths'- Returns:
 - a new fraction instance
 - Throws:
 java.lang.ArithmeticException- if the denomiator iszerojava.lang.ArithmeticException- if the denominator is negativejava.lang.ArithmeticException- if the numerator is negativejava.lang.ArithmeticException- if the resulting numerator exceedsInteger.MAX_VALUE
 
- 
getReducedFraction
public static Fraction getReducedFraction(int numerator, int denominator)
Deprecated.Creates a reduced
Fractioninstance with the 2 parts of a fraction Y/Z.For example, if the input parameters represent 2/4, then the created fraction will be 1/2.
Any negative signs are resolved to be on the numerator.
- Parameters:
 numerator- the numerator, for example the three in 'three sevenths'denominator- the denominator, for example the seven in 'three sevenths'- Returns:
 - a new fraction instance, with the numerator and denominator reduced
 - Throws:
 java.lang.ArithmeticException- if the denominator iszero
 
- 
getFraction
public static Fraction getFraction(double value)
Deprecated.Creates a
Fractioninstance from adoublevalue.This method uses the continued fraction algorithm, computing a maximum of 25 convergents and bounding the denominator by 10,000.
- Parameters:
 value- the double value to convert- Returns:
 - a new fraction instance that is close to the value
 - Throws:
 java.lang.ArithmeticException- if|value| > Integer.MAX_VALUEorvalue = NaNjava.lang.ArithmeticException- if the calculated denominator iszerojava.lang.ArithmeticException- if the the algorithm does not converge
 
- 
getFraction
public static Fraction getFraction(java.lang.String str)
Deprecated.Creates a Fraction from a
String.The formats accepted are:
doubleString containing a dot- 'X Y/Z'
 - 'Y/Z'
 - 'X' (a simple whole number)
 
- Parameters:
 str- the string to parse, must not benull- Returns:
 - the new 
Fractioninstance - Throws:
 java.lang.IllegalArgumentException- if the string isnulljava.lang.NumberFormatException- if the number format is invalid
 
- 
getNumerator
public int getNumerator()
Deprecated.Gets the numerator part of the fraction.
This method may return a value greater than the denominator, an improper fraction, such as the seven in 7/4.
- Returns:
 - the numerator fraction part
 
 
- 
getDenominator
public int getDenominator()
Deprecated.Gets the denominator part of the fraction.
- Returns:
 - the denominator fraction part
 
 
- 
getProperNumerator
public int getProperNumerator()
Deprecated.Gets the proper numerator, always positive.
An improper fraction 7/4 can be resolved into a proper one, 1 3/4. This method returns the 3 from the proper fraction.
If the fraction is negative such as -7/4, it can be resolved into -1 3/4, so this method returns the positive proper numerator, 3.
- Returns:
 - the numerator fraction part of a proper fraction, always positive
 
 
- 
getProperWhole
public int getProperWhole()
Deprecated.Gets the proper whole part of the fraction.
An improper fraction 7/4 can be resolved into a proper one, 1 3/4. This method returns the 1 from the proper fraction.
If the fraction is negative such as -7/4, it can be resolved into -1 3/4, so this method returns the positive whole part -1.
- Returns:
 - the whole fraction part of a proper fraction, that includes the sign
 
 
- 
intValue
public int intValue()
Deprecated.Gets the fraction as an
int. This returns the whole number part of the fraction.- Specified by:
 intValuein classjava.lang.Number- Returns:
 - the whole number fraction part
 
 
- 
longValue
public long longValue()
Deprecated.Gets the fraction as a
long. This returns the whole number part of the fraction.- Specified by:
 longValuein classjava.lang.Number- Returns:
 - the whole number fraction part
 
 
- 
floatValue
public float floatValue()
Deprecated.Gets the fraction as a
float. This calculates the fraction as the numerator divided by denominator.- Specified by:
 floatValuein classjava.lang.Number- Returns:
 - the fraction as a 
float 
 
- 
doubleValue
public double doubleValue()
Deprecated.Gets the fraction as a
double. This calculates the fraction as the numerator divided by denominator.- Specified by:
 doubleValuein classjava.lang.Number- Returns:
 - the fraction as a 
double 
 
- 
reduce
public Fraction reduce()
Deprecated.Reduce the fraction to the smallest values for the numerator and denominator, returning the result.
For example, if this fraction represents 2/4, then the result will be 1/2.
- Returns:
 - a new reduced fraction instance, or this if no simplification possible
 
 
- 
invert
public Fraction invert()
Deprecated.Gets a fraction that is the inverse (1/fraction) of this one.
The returned fraction is not reduced.
- Returns:
 - a new fraction instance with the numerator and denominator inverted.
 - Throws:
 java.lang.ArithmeticException- if the fraction represents zero.
 
- 
negate
public Fraction negate()
Deprecated.Gets a fraction that is the negative (-fraction) of this one.
The returned fraction is not reduced.
- Returns:
 - a new fraction instance with the opposite signed numerator
 
 
- 
abs
public Fraction abs()
Deprecated.Gets a fraction that is the positive equivalent of this one.
More precisely:
(fraction >= 0 ? this : -fraction)The returned fraction is not reduced.
- Returns:
 thisif it is positive, or a new positive fraction instance with the opposite signed numerator
 
- 
pow
public Fraction pow(int power)
Deprecated.Gets a fraction that is raised to the passed in power.
The returned fraction is in reduced form.
- Parameters:
 power- the power to raise the fraction to- Returns:
 thisif the power is one,ONEif the power is zero (even if the fraction equals ZERO) or a new fraction instance raised to the appropriate power- Throws:
 java.lang.ArithmeticException- if the resulting numerator or denominator exceedsInteger.MAX_VALUE
 
- 
add
public Fraction add(Fraction fraction)
Deprecated.Adds the value of this fraction to another, returning the result in reduced form. The algorithm follows Knuth, 4.5.1.
- Parameters:
 fraction- the fraction to add, must not benull- Returns:
 - a 
Fractioninstance with the resulting values - Throws:
 java.lang.IllegalArgumentException- if the fraction isnulljava.lang.ArithmeticException- if the resulting numerator or denominator exceedsInteger.MAX_VALUE
 
- 
subtract
public Fraction subtract(Fraction fraction)
Deprecated.Subtracts the value of another fraction from the value of this one, returning the result in reduced form.
- Parameters:
 fraction- the fraction to subtract, must not benull- Returns:
 - a 
Fractioninstance with the resulting values - Throws:
 java.lang.IllegalArgumentException- if the fraction isnulljava.lang.ArithmeticException- if the resulting numerator or denominator cannot be represented in anint.
 
- 
multiplyBy
public Fraction multiplyBy(Fraction fraction)
Deprecated.Multiplies the value of this fraction by another, returning the result in reduced form.
- Parameters:
 fraction- the fraction to multiply by, must not benull- Returns:
 - a 
Fractioninstance with the resulting values - Throws:
 java.lang.IllegalArgumentException- if the fraction isnulljava.lang.ArithmeticException- if the resulting numerator or denominator exceedsInteger.MAX_VALUE
 
- 
divideBy
public Fraction divideBy(Fraction fraction)
Deprecated.Divide the value of this fraction by another.
- Parameters:
 fraction- the fraction to divide by, must not benull- Returns:
 - a 
Fractioninstance with the resulting values - Throws:
 java.lang.IllegalArgumentException- if the fraction isnulljava.lang.ArithmeticException- if the fraction to divide by is zerojava.lang.ArithmeticException- if the resulting numerator or denominator exceedsInteger.MAX_VALUE
 
- 
equals
public boolean equals(java.lang.Object obj)
Deprecated.Compares this fraction to another object to test if they are equal.
.To be equal, both values must be equal. Thus 2/4 is not equal to 1/2.
- Overrides:
 equalsin classjava.lang.Object- Parameters:
 obj- the reference object with which to compare- Returns:
 trueif this object is equal
 
- 
hashCode
public int hashCode()
Deprecated.Gets a hashCode for the fraction.
- Overrides:
 hashCodein classjava.lang.Object- Returns:
 - a hash code value for this object
 
 
- 
compareTo
public int compareTo(java.lang.Object object)
Deprecated.Compares this object to another based on size.
Note: this class has a natural ordering that is inconsistent with equals, because, for example, equals treats 1/2 and 2/4 as different, whereas compareTo treats them as equal.
- Specified by:
 compareToin interfacejava.lang.Comparable- Parameters:
 object- the object to compare to- Returns:
 - -1 if this is less, 0 if equal, +1 if greater
 - Throws:
 java.lang.ClassCastException- if the object is not aFractionjava.lang.NullPointerException- if the object isnull
 
- 
toString
public java.lang.String toString()
Deprecated.Gets the fraction as a
String.The format used is 'numerator/denominator' always.
- Overrides:
 toStringin classjava.lang.Object- Returns:
 - a 
Stringform of the fraction 
 
- 
toProperString
public java.lang.String toProperString()
Deprecated.Gets the fraction as a proper
Stringin the format X Y/Z.The format used in 'wholeNumber numerator/denominator'. If the whole number is zero it will be ommitted. If the numerator is zero, only the whole number is returned.
- Returns:
 - a 
Stringform of the fraction 
 
 - 
 
 -