|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.lang.Number
nl.knowledgeplaza.math.Fraction
public class Fraction
This class tries to mimick the calculating as we to it in school and not on computers. So 0.5 is 1/2 and 0.333333... does not exist but is 1/3. In this way it tries to remove those strange behaviors like zero not being equal to zero (0.00 != 0). This is especially frustrating when using binding libraries. And it tries to remove as much rounding as possible, thus minimizing those calculation errors. By only rounding when presenting the final result, not during calculation.
| Field Summary | |
|---|---|
static Fraction |
ONE
|
static Fraction |
ZERO
|
| Constructor Summary | |
|---|---|
Fraction()
Default is zero |
|
Fraction(java.math.BigDecimal value)
|
|
Fraction(java.math.BigInteger value)
|
|
Fraction(java.math.BigInteger bi1,
java.math.BigInteger bi2)
|
|
Fraction(double value)
|
|
Fraction(float value)
|
|
Fraction(Fraction f)
|
|
Fraction(int value)
|
|
Fraction(int value,
int divider)
|
|
Fraction(long value)
|
|
Fraction(java.lang.String value)
|
|
| Method Summary | |
|---|---|
Fraction |
abs()
positive value |
Fraction |
add(java.math.BigDecimal other)
|
Fraction |
add(java.math.BigInteger other)
|
Fraction |
add(Fraction other)
|
java.lang.String |
asString()
Simplify and return as fraction string notation, e.g. |
java.lang.String |
asString2()
Simplify and return as integer+(fraction) string notation, e.g 1+(2/3) |
java.lang.String |
asStringRaw()
Return as fraction string notation, e.g. |
java.math.BigDecimal |
bigDecimalValue()
Return a BigDecimal with scale 10 and rounding half up |
java.math.BigDecimal |
bigDecimalValue(int scale,
int rounding)
Return a big decimal with the specified scale (if the conversion requires a divide) |
java.math.BigInteger |
bigIntegerValue()
Return a BigInteger |
java.math.BigInteger |
bigIntegerValueExact()
Return a BigInteger |
java.lang.Object |
clone()
|
int |
compareTo(java.lang.Object o)
Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object |
Fraction |
div(java.math.BigDecimal other)
|
Fraction |
div(java.math.BigInteger other)
|
Fraction |
div(Fraction an)
|
Fraction |
divide(java.math.BigDecimal other)
|
Fraction |
divide(java.math.BigInteger other)
|
Fraction |
divide(Fraction other)
|
double |
doubleValue()
|
boolean |
equals(java.lang.Object an)
|
float |
floatValue()
|
Fraction |
fraction()
Get only the fraction bit |
void |
fractionalize(int precision)
TODO: Find the nearest fraction e.g. |
java.math.BigInteger |
getDenominator()
|
java.math.BigInteger |
getDivider()
|
java.math.BigInteger |
getNumerator()
|
java.math.BigInteger |
getValue()
|
Fraction |
integer()
Lose the fraction bit |
int |
intValue()
|
Fraction |
inverse()
Swap the values: 1/2 => 2/1 |
boolean |
isZero()
is zero |
long |
longValue()
|
Fraction |
mul(java.math.BigDecimal other)
|
Fraction |
mul(java.math.BigInteger other)
|
Fraction |
mul(Fraction an)
|
Fraction |
multiply(java.math.BigDecimal other)
|
Fraction |
multiply(java.math.BigInteger other)
|
Fraction |
multiply(Fraction other)
|
Fraction |
neg()
|
Fraction |
negate()
current value * -1 |
Fraction |
not()
This method returns a negative value if and only if this number is non-negative. |
Fraction |
pow(int an)
|
Fraction |
power(int exponent)
|
int |
sgn()
positive value |
Fraction |
shallowClone()
|
Fraction |
sub(java.math.BigDecimal other)
|
Fraction |
sub(java.math.BigInteger other)
|
Fraction |
sub(Fraction an)
|
Fraction |
substract(java.math.BigDecimal other)
|
Fraction |
substract(java.math.BigInteger other)
|
Fraction |
substract(Fraction other)
|
java.lang.String |
toString()
Return this value as a decimal string notation (e.g. |
static Fraction |
valueOf(java.math.BigDecimal value)
|
static Fraction |
valueOf(java.math.BigInteger value)
|
static Fraction |
valueOf(java.lang.Double value)
|
static Fraction |
valueOf(java.lang.Float value)
|
static Fraction |
valueOf(java.lang.Integer value)
|
static Fraction |
valueOf(java.lang.Long value)
|
static Fraction |
valueOf(java.lang.Short value)
|
static Fraction |
valueOf(java.lang.String value)
|
| Methods inherited from class java.lang.Number |
|---|
byteValue, shortValue |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final Fraction ZERO
public static final Fraction ONE
| Constructor Detail |
|---|
public Fraction()
public Fraction(int value)
public Fraction(long value)
public Fraction(java.math.BigDecimal value)
public Fraction(java.math.BigInteger value)
public Fraction(double value)
public Fraction(float value)
public Fraction(java.lang.String value)
public Fraction(int value,
int divider)
public Fraction(java.math.BigInteger bi1,
java.math.BigInteger bi2)
public Fraction(Fraction f)
| Method Detail |
|---|
public java.math.BigInteger getValue()
public java.math.BigInteger getNumerator()
public java.math.BigInteger getDivider()
public java.math.BigInteger getDenominator()
public Fraction add(Fraction other)
public Fraction add(java.math.BigInteger other)
public Fraction add(java.math.BigDecimal other)
public Fraction substract(Fraction other)
public Fraction substract(java.math.BigInteger other)
public Fraction substract(java.math.BigDecimal other)
public Fraction sub(Fraction an)
public Fraction sub(java.math.BigInteger other)
public Fraction sub(java.math.BigDecimal other)
public Fraction multiply(Fraction other)
public Fraction multiply(java.math.BigInteger other)
public Fraction multiply(java.math.BigDecimal other)
public Fraction mul(Fraction an)
public Fraction mul(java.math.BigInteger other)
public Fraction mul(java.math.BigDecimal other)
public Fraction divide(Fraction other)
public Fraction divide(java.math.BigInteger other)
public Fraction divide(java.math.BigDecimal other)
public Fraction div(Fraction an)
public Fraction div(java.math.BigInteger other)
public Fraction div(java.math.BigDecimal other)
public Fraction power(int exponent)
public Fraction pow(int an)
public Fraction abs()
public int sgn()
public Fraction negate()
public Fraction neg()
public Fraction integer()
public Fraction fraction()
public Fraction not()
public Fraction inverse()
public void fractionalize(int precision)
public java.lang.Object clone()
clone in class java.lang.Objectpublic Fraction shallowClone()
public boolean isZero()
public boolean equals(java.lang.Object an)
equals in class java.lang.Objectpublic int compareTo(java.lang.Object o)
compareTo in interface java.lang.Comparablepublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String asStringRaw()
public java.lang.String asString()
public java.lang.String asString2()
public java.math.BigDecimal bigDecimalValue(int scale,
int rounding)
public java.math.BigDecimal bigDecimalValue()
public java.math.BigInteger bigIntegerValue()
public java.math.BigInteger bigIntegerValueExact()
public double doubleValue()
doubleValue in class java.lang.Numberpublic float floatValue()
floatValue in class java.lang.Numberpublic int intValue()
intValue in class java.lang.Numberpublic long longValue()
longValue in class java.lang.Numberpublic static Fraction valueOf(java.lang.String value)
public static Fraction valueOf(java.math.BigDecimal value)
public static Fraction valueOf(java.math.BigInteger value)
public static Fraction valueOf(java.lang.Short value)
public static Fraction valueOf(java.lang.Integer value)
public static Fraction valueOf(java.lang.Long value)
public static Fraction valueOf(java.lang.Double value)
public static Fraction valueOf(java.lang.Float value)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||