|
|||||||||
| 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.Objectpublic 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 | ||||||||