Class ConvertingNumbers
- java.lang.Object
-
- bitchanger.calculations.ConvertingNumbers
-
public class ConvertingNumbers extends Object
Die KlasseConvertingNumbers
enthält Methoden zum Umwandeln von Zahlen mit verschiedenen Zahlensystemen.Die Methoden dieser Klasse können sowohl ganze Zahlen als auch Kommazahlen mit positiven oder negativen Wert umwandeln. Es werden beliebige Zahlensysteme von der Basis 2 bis zur Basis 36 unterstützt, was dem Zeichenvorrat 0-9 und A-Z entspricht. In der String-Darstellung können Zahlen mit Ziffern, Großbuchstaben und Kleinbuchstaben an die Methoden dieser Klasse übergeben werden, allerdings enthalten die Rückgaben in der String-Darstellung aller Methoden ausschließlich Zahlen und Großbuchstaben.
Das Komma-Zeichen kann mit der Klasse
Preferences
auf Deutsch (,) oder Englisch (.) eingestellt werden. Ebenso kann der Indikator für abgeschnittene Nachkommastellen (...) aktiviert oder deaktiviert werden.- Since:
- Bitchanger 0.1.0
- Version:
- 1.0.2
- Author:
- Tim Mühle, Moritz Wolter
- See Also:
Preferences
-
-
Field Summary
Fields Modifier and Type Field Description static String
FRACTIONAL_PRECISION_INDICATOR
Indikator für Abgeschnittene Nachkommastellen bei der Umwandlung vom Zehnersystem in ein anderes, beliebiges Zahlensystemstatic int
MAX_BASE
Eine Konstante für die größtmögliche Basis bei einem Zeichenvorrat von 0-9 und A-Zstatic int
MIN_BASE
Eine Konstante für die kleinstmögliche Basis
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
baseToDecString(int base, String value)
Wandelt die übergebene Zahlvalue
zur beliebigen Basisbase
in eine Zahl zur Basis 10 in der String-Darstellung um.static String
baseToDecString(int base, String value, char comma)
Wandelt die übergebene Zahlvalue
zur beliebigen Basisbase
in eine Zahl zur Basis 10 in der String-Darstellung um.static String
baseToDecString(int base, String value, char comma, Queue<ConversionStep> calcPath)
Wandelt die übergebene Zahlvalue
zur beliebigen Basisbase
in eine Zahl zur Basis 10 in der String-Darstellung um.static String
decToBase(int newBase, String decValue)
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.static String
decToBase(int newBase, String decValue, char comma)
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.static String
decToBase(int newBase, String decValue, char comma, int fractionalPrecision)
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.static String
decToBase(int newBase, String decValue, char comma, int fractionalPrecision, Queue<ConversionStep> calcPath)
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.static String
decToBaseBlocks(int newBase, String decValue, char comma, int blockSize)
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um und unterteilt die Zahl in Blöcke der gewünschten Länge.static String
doubleToString(double d)
static boolean
isValueToBase(int base, String value)
Prüft, obvalue
eine Zahl zur geforderten Basisbase
repräsentiert.static String
splitInBlocks(int base, String value)
Unterteilt den übergebenen String in Blöcke mit einer Länge von 4 Zeichen für binäre und hexadezimale Zahlen oder 3 Zeichen für alle anderen Zahlensystemestatic String
splitInBlocks(String value, int blockSize)
Unterteilt den übergebenen String in Blöcke mit der gegebenen Länge, beispielsweise zur Tausendertrennung
-
-
-
Field Detail
-
MIN_BASE
public static final int MIN_BASE
Eine Konstante für die kleinstmögliche Basis- See Also:
- Constant Field Values
-
MAX_BASE
public static final int MAX_BASE
Eine Konstante für die größtmögliche Basis bei einem Zeichenvorrat von 0-9 und A-Z- See Also:
- Constant Field Values
-
FRACTIONAL_PRECISION_INDICATOR
public static final String FRACTIONAL_PRECISION_INDICATOR
Indikator für Abgeschnittene Nachkommastellen bei der Umwandlung vom Zehnersystem in ein anderes, beliebiges Zahlensystem- See Also:
- Constant Field Values
-
-
Method Detail
-
isValueToBase
public static boolean isValueToBase(int base, String value) throws IllegalArgumentException
Prüft, obvalue
eine Zahl zur geforderten Basisbase
repräsentiert. Ist der Indikator für abgeschnittene Nachkommastellen aktiviert, wird dieser bei der Auswertung ignoriert. Leerzeichen können als Tausender-Trennung verwendet werden und werden von dieser Methode ebenfalls ignoriert.- Parameters:
value
- zu prüfende Zahl repräsentiert alsString
base
- geforderte Basis vonvalue
- erlaubt sind nur Werte von 2 bis 36 (einschließlich)- Returns:
true
, wennvalue
eine Zahl zur geforderten Basisbase
repräsentiert, andernfalls wirdfalse
zurückgegeben- Throws:
IllegalArgumentException
- wennbasis
den Wertebereich [2, 36] verlässt
-
doubleToString
public static String doubleToString(double d)
-
baseToDecString
public static String baseToDecString(int base, String value) throws NullPointerException, NumberFormatException, IllegalArgumentException, NumberOverflowException
Wandelt die übergebene Zahlvalue
zur beliebigen Basisbase
in eine Zahl zur Basis 10 in der String-Darstellung um.- Parameters:
base
- die spezifische Basis des übergebenen Wertesvalue
value
- der Zahlenwert, der umgewandelt werden soll, in der String-Darstellung- Returns:
- Wert der Zahl im Zehnersystem in der String-Darstellung mit dem standardmäßig eingestellten Komma
- Throws:
NullPointerException
- wenn der Parametervalue
null
istNumberFormatException
- wenn der Parametervalue
keine Zahl zur Basisbase
istIllegalArgumentException
- wennvalue
ein leerer String ist oder wennbasis
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
NumberOverflowException
- wenn der Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
-
baseToDecString
public static String baseToDecString(int base, String value, char comma) throws NullPointerException, NumberFormatException, IllegalArgumentException, NumberOverflowException
Wandelt die übergebene Zahlvalue
zur beliebigen Basisbase
in eine Zahl zur Basis 10 in der String-Darstellung um.- Parameters:
base
- die spezifische Basis des übergebenen Wertesvalue
value
- der Zahlenwert, der umgewandelt werden soll, in der String-Darstellungcomma
- das Zeichen, welches als Komma in Gleitpunktzahlen verwendet wird- Returns:
- Wert der Zahl im Zehnersystem in der String-Darstellung
- Throws:
NullPointerException
- wenn der Parametervalue
null
istNumberFormatException
- wenn der Parametervalue
keine Zahl zur Basisbase
istIllegalArgumentException
- wennvalue
ein leerer String ist oder wennbasis
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
NumberOverflowException
- wenn der ganzzahlige Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
-
baseToDecString
public static String baseToDecString(int base, String value, char comma, Queue<ConversionStep> calcPath) throws NullPointerException, NumberFormatException, IllegalArgumentException, NumberOverflowException
Wandelt die übergebene Zahlvalue
zur beliebigen Basisbase
in eine Zahl zur Basis 10 in der String-Darstellung um.- Parameters:
base
- die spezifische Basis des übergebenen Wertesvalue
value
- der Zahlenwert, der umgewandelt werden soll, in der String-Darstellungcomma
- das Zeichen, welches als Komma in Gleitpunktzahlen verwendet wirdcalcPath
- Queue, in der alle Rechenschritte gespeichert werden,null
ist erlaubt- Returns:
- Wert der Zahl im Zehnersystem in der String-Darstellung
- Throws:
NullPointerException
- wenn der Parametervalue
null
istNumberFormatException
- wenn der Parametervalue
keine Zahl zur Basisbase
istIllegalArgumentException
- wennvalue
ein leerer String ist oder wennbasis
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
NumberOverflowException
- wenn der ganzzahlige Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
-
decToBase
public static String decToBase(int newBase, String decValue) throws NullPointerException, NumberFormatException, NumberOverflowException
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.Wenn in der Klasse
Preferences
der Indikator für Nachkommastellen aktiviert ist, werden die wegen der maximalen Anzahl von Nachkommastellen abgeschnittenen Nachkommastellen durch "..." angedeutet.- Parameters:
newBase
- Basis des neuen Zahlensystems, in das die ZahldecValue
umgewandelt werden solldecValue
- Wert der Zahl im Zehnersystem in der String-Darstellung- Returns:
- umgewandelte Zahl zur übergebenen Basis in der String-Darstellung mit dem standardmäßig eingestellten Komma
- Throws:
NullPointerException
- wenn der ParameterdecValue
null
istNumberFormatException
- wenn der ParameterdecValue
keine Zahl zur Basis 10 istIllegalArgumentException
- wenndecValue
ein leerer String ist oder wennnewBase
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
NumberOverflowException
- wenn der Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
- See Also:
Preferences
-
decToBase
public static String decToBase(int newBase, String decValue, char comma) throws NullPointerException, NumberFormatException, IllegalArgumentException, NumberOverflowException
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.Wenn in der Klasse
Preferences
der Indikator für Nachkommastellen aktiviert ist, werden die wegen der maximalen Anzahl von Nachkommastellen abgeschnittenen Nachkommastellen durch "..." angedeutet.- Parameters:
newBase
- Basis des neuen Zahlensystems, in das die ZahldecValue
umgewandelt werden solldecValue
- Wert der Zahl im Zehnersystem in der String-Darstellungcomma
- das Zeichen, welches als Komma in Gleitpunktzahlen verwendet wird- Returns:
- umgewandelte Zahl zur übergebenen Basis in der String-Darstellung mit maximal 15 Nachkommastellen
- Throws:
NullPointerException
- wenn der ParameterdecValue
null
istNumberFormatException
- wenn der ParameterdecValue
keine Zahl zur Basis 10 istIllegalArgumentException
- wenndecValue
ein leerer String ist oder wennnewBase
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
NumberOverflowException
- wenn der Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
- See Also:
Preferences
-
decToBase
public static String decToBase(int newBase, String decValue, char comma, int fractionalPrecision) throws NullPointerException, NumberFormatException, IllegalArgumentException, UnsupportedOperationException, NumberOverflowException
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.Wenn in der Klasse
Preferences
der Indikator für Nachkommastellen aktiviert ist, werden die wegen der maximalen Anzahl von Nachkommastellen abgeschnittenen Nachkommastellen durch "..." angedeutet.- Parameters:
newBase
- Basis des neuen Zahlensystems, in das die ZahldecValue
umgewandelt werden solldecValue
- Wert der Zahl im Zehnersystem in der String-Darstellungcomma
- das Zeichen, welches als Komma in Gleitpunktzahlen verwendet wirdfractionalPrecision
- maximale Anzahl der Nachkommastellen- Returns:
- umgewandelte Zahl zur übergebenen Basis in der String-Darstellung
- Throws:
NullPointerException
- wenn der ParameterdecValue
null
istNumberFormatException
- wenn der ParameterdecValue
keine Zahl zur Basis 10 istIllegalArgumentException
- wenndecValue
ein leerer String ist oder wennnewBase
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
UnsupportedOperationException
- wenndecValue
negativ ist und Nachkommastellen enthält und gleichzeitignewBase
zwei istNumberOverflowException
- wenn der Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
- See Also:
Preferences
-
decToBase
public static String decToBase(int newBase, String decValue, char comma, int fractionalPrecision, Queue<ConversionStep> calcPath) throws NullPointerException, NumberFormatException, IllegalArgumentException, UnsupportedOperationException, NumberOverflowException
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um.Wenn in der Klasse
Preferences
der Indikator für Nachkommastellen aktiviert ist, werden die wegen der maximalen Anzahl von Nachkommastellen abgeschnittenen Nachkommastellen durch "..." angedeutet.- Parameters:
newBase
- Basis des neuen Zahlensystems, in das die ZahldecValue
umgewandelt werden solldecValue
- Wert der Zahl im Zehnersystem in der String-Darstellungcomma
- das Zeichen, welches als Komma in Gleitpunktzahlen verwendet wirdfractionalPrecision
- maximale Anzahl der NachkommastellencalcPath
- Queue, in der alle Rechenschritte gespeichert werden,null
ist erlaubt- Returns:
- umgewandelte Zahl zur übergebenen Basis in der String-Darstellung
- Throws:
NullPointerException
- wenn der ParameterdecValue
null
istNumberFormatException
- wenn der ParameterdecValue
keine Zahl zur Basis 10 istIllegalArgumentException
- wenndecValue
ein leerer String ist oder wennnewBase
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
UnsupportedOperationException
- wenndecValue
negativ ist und Nachkommastellen enthält und gleichzeitignewBase
zwei istNumberOverflowException
- wenn der Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
- See Also:
Preferences
-
decToBaseBlocks
public static String decToBaseBlocks(int newBase, String decValue, char comma, int blockSize) throws NullPointerException, NumberFormatException, IllegalArgumentException, NumberOverflowException
Wandelt die übergebene ZahldecValue
zur Basis 10 in eine Zahl zur beliebigen BasisnewBase
in der String-Darstellung um und unterteilt die Zahl in Blöcke der gewünschten Länge.Wenn in der Klasse
Preferences
der Indikator für Nachkommastellen aktiviert ist, werden die wegen der maximalen Anzahl von Nachkommastellen abgeschnittenen Nachkommastellen durch "..." angedeutet.- Parameters:
newBase
- Basis des neuen Zahlensystems, in das die ZahldecValue
umgewandelt werden solldecValue
- Wert der Zahl im Zehnersystem in der String-Darstellungcomma
- das Zeichen, welches als Komma in Gleitpunktzahlen verwendet wirdblockSize
- Länge der Blöcke, in die der String unterteilt wird- Returns:
- umgewandelte Zahl zur übergebenen Basis in der String-Darstellung
- Throws:
NullPointerException
- wenn der ParameterdecValue
null
istNumberFormatException
- wenn der ParameterdecValue
keine Zahl zur Basis 10 istIllegalArgumentException
- wenndecValue
ein leerer String ist oder wennnewBase
den Wertebereich [2, 36] verlässt - seeisValueToBase(int,java.lang.String)
NumberOverflowException
- wenn der Wert vonvalue
größer oder kleiner ist als +/-Long.MAX_VALUE
- Since:
- Bitchanger 0.1.4
- See Also:
Preferences
,decToBase(int, String, char)
,splitInBlocks(String, int)
-
splitInBlocks
public static String splitInBlocks(String value, int blockSize)
Unterteilt den übergebenen String in Blöcke mit der gegebenen Länge, beispielsweise zur Tausendertrennung- Parameters:
value
- String, der aufgeteilt wirdblockSize
- Länge der Blöcke- Returns:
- Aufgeteilter String mit Blöcken
- Since:
- Bitchanger 0.1.4
-
splitInBlocks
public static String splitInBlocks(int base, String value)
Unterteilt den übergebenen String in Blöcke mit einer Länge von 4 Zeichen für binäre und hexadezimale Zahlen oder 3 Zeichen für alle anderen Zahlensysteme- Parameters:
base
- Basis vonvalue
value
- String, der aufgeteilt wird- Returns:
- Aufgeteilter String mit Blöcken
- Since:
- Bitchanger 0.1.8
-
-