|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.trauma.Decimal
public class Decimal
Decimal -
Verwalten von Dezimalzahlen mit vorgegebener Anzahl
von Nachkommastellen.
Daten werden intern in long-Feldern gespeichert, d.h.
es werden bis zu length(Long.MAX_VALUE)
= length(9223372036854775807) = 19 Stellen verwaltet.
Bei Verwendung von Multiplikation reduziert sich dies
auf etwa 0.5*(length(Long.MAX_VALUE)) = 9 Stellen.
Ueberlauf-Fehler werden weitergereicht.
Lizensierungsart: GNU LGPL (darf in kommerziellen Projekten
unverändert genutzt werden).
Field Summary | |
---|---|
private int |
decimals
|
static int |
DEF_DECIMALS
Standard-Anzahl von Nachkommastellen. |
private long |
numerator
|
private boolean |
overflow
|
private boolean |
roundNatural
true um ab 5 aufzurunden, false um roundUp zu nutzen. |
private boolean |
roundUp
true um alles aufzurunden, false um alles abzurunden. |
Constructor Summary | |
---|---|
Decimal()
Erzeugen einer neuen Dezimalzahl mit Standard-Genauigkeit. |
|
Decimal(Decimal d)
Copy-Konstruktor. |
|
Decimal(int decimals)
Erzeugen einer neuen Dezimalzahl mit waehlbarer Genauigkeit. |
|
Decimal(long numerator,
int decimals)
Erzeugen einer neuen Dezimalzahl mit waehlbarer Genauigkeit. |
Method Summary | |
---|---|
void |
add(Decimal c)
Addieren einer weiteren Dezimalzahl. |
void |
add(int i)
Addieren einer int-Zahl. |
private long |
bias(long numerator,
int delta)
Verschieben des Kommas. |
void |
div(Decimal c)
Teilen durch eine weitere Dezimalzahl. |
void |
div(int i)
Teilen durch eine int-Zahl. |
long |
getFractionalPart()
Abfragen des Nachkomma-Anteils. |
long |
getFractionalPart(int showDecimals,
boolean signed)
Abfragen des Nachkomma-Anteils. |
long |
getIntegerPart()
Abfragen des Ganzzahl-Anteils. |
long |
getIntegerPart(int showDecimals)
Abfragen des Ganzzahl-Anteils. |
boolean |
getOverflow()
Abfrage, ob eine Rechenoperation einen Overflow ausloeste. |
static void |
main(java.lang.String[] args)
|
void |
mult(Decimal c)
Multiplizieren mit einer weiteren Dezimalzahl. |
void |
mult(int i)
Multiplizieren mit einer int-Zahl. |
static Decimal |
parseDecimal(java.lang.String s)
Umwandeln eines Strings in eine Dezimalzahl. |
static Decimal |
parseDecimal(java.lang.String s,
int decimals)
Umwandeln eines Strings in eine Dezimalzahl. |
private static long |
pow(long base,
long exp)
Potenzfunktion fuer int-Zahlen. |
Decimal |
rounded(int showDecimals)
Runden der Dezimalzahl. |
void |
sub(Decimal c)
Subtrahieren einer weiteren Dezimalzahl. |
void |
sub(int i)
Subtrahieren einer int-Zahl. |
java.lang.String |
toString()
|
java.lang.String |
toString(int showDecimals)
Die Dezimalzahl als String. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int DEF_DECIMALS
private long numerator
private int decimals
private boolean overflow
private boolean roundNatural
roundUp
zu nutzen.
private boolean roundUp
roundNatural
== true ist.
Constructor Detail |
---|
public Decimal()
public Decimal(int decimals)
decimals
- Anzahl der Nachkommastellen.public Decimal(Decimal d)
d
- Eine Dezimalzahl.public Decimal(long numerator, int decimals)
numerator
- Zaehler-Wert.decimals
- Anzahl der Nachkommastellen.Method Detail |
---|
public boolean getOverflow()
public long getIntegerPart()
public long getIntegerPart(int showDecimals)
showDecimals
- Anzahl der Nachkommastellen (zwecks Rundung).
public long getFractionalPart()
public long getFractionalPart(int showDecimals, boolean signed)
showDecimals
- Anzahl der anzuzeigenden Nachkommastellen.signed
- Mit Vorzeichen.
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toString(int showDecimals)
showDecimals
- Anzahl der anzuzeigenden Nachkommastellen.
private static long pow(long base, long exp)
base
- Basis.exp
- Exponent.
private long bias(long numerator, int delta)
numerator
- Der Zaehler-Wert.delta
- Anzahl Stellen (>0 nach rechts, <0 nach links).
public void mult(Decimal c)
c
- Die zweite Dezimalzahl.public void mult(int i)
i
- Die int-Zahl.public void div(Decimal c)
c
- Die zweite Dezimalzahl.public void div(int i)
i
- Die int-Zahl.public void add(Decimal c)
c
- Die zweite Dezimalzahl.public void add(int i)
i
- Die int-Zahl.public void sub(Decimal c)
c
- Die zweite Dezimalzahl.public void sub(int i)
i
- Die int-Zahl.public static Decimal parseDecimal(java.lang.String s)
s
- Der String.
public static Decimal parseDecimal(java.lang.String s, int decimals)
s
- Der String.decimals
- Anzahl der Nachkommastellen.
public Decimal rounded(int showDecimals)
showDecimals
- Anzuzeigende Stellen.
public static void main(java.lang.String[] args)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |