#include <util.h>
Öffentliche Typen | |
| enum | Direction { LEFT, CENTER, RIGHT } |
Öffentliche, statische Methoden | |
| static void | shiftStr (string &str, string recruit, Direction dir=RIGHT) |
| Funktion verchiebt alle Zeichen des Strings str um ein Zeichen nach links oder rechts, abhaengig von dir. | |
| static string | toLower (const string &str) |
| Wandelt String in Kleinbuchstaben um. | |
| static string | doubleToStr (double val, int format, int digits, int shiftNum, double forceSci=FORCE_SCI) |
| Wandelt double val mit Formatierung in einen String. | |
| static string | doubleToSxgStr (double val) |
| Wandelt val in einen String im Sexagesimalformat um: z.B. | |
| static string | stripTrailingOs (const string &numStr) |
| Erwartet in numStr den String einer Zahl in SCI- oder FIX-Notation und entfernt endstaendige Nachkomma-Nullen der Mantisse. | |
| static string | shiftPoint (double num, int digits, int shiftNum) |
| Erzeugt einen String in Exponentialschreibweise mit der Zahl, die in num uebergeben wird. | |
| static string | shiftPointEng (const string &numStr, Direction dir, int digits) |
| Erwartet in numStr den String einer Zahl in Fix- oder Sci-Notation (keinen Bruch) und wandelt ihn in eine Zahl in "Engineering"-Notation, d.h., der Exponent ist ein Vielfaches von 3. | |
| static void | getMantExp (const string &numStr, double &m, int &e) |
| Extrahiert aus dem String numStr die Mantisse m und den Exponenten e als double bzw. | |
| static bool | getMantExp (const string &numStr, string &mnt, string &exp) |
| Extrahiert aus dem String numStr die Mantisse mnt und den Exponenten exp als Strings. | |
| static int | getEngShiftNum (int e, int eng) |
| Funktion ermittelt die Anzahl der Stellen, um die das Komma einer Zahl in Folge eines Drucks auf die "ENG"- oder "ENG<"-Taste verschoben werden muss. | |
| static string | roundMantisse (string &numStr, int digits, double forceSci=FORCE_SCI) |
| Funktion bringt die Mantisse der Zahl in numStr auf hoechstens digits Stellen, falls sie mehr Stellen hat. | |
| static string | formatFixNum (double num, int digits) |
| Formatiert double num im fixed Format auf insgesamt digits echte Stellen (Vor- + Nachkommastellen ohne Komma) ohne abschliessende Nullen nach dem Komma. | |
| static string | formatFixNumStr (string numStr, int digits) |
| Formatiert String numStr, der Gleitkommazahl im fixed Format enthaelt, auf insgesamt digits echte Stellen (Vor- + Nachkommastellen ohne Komma) ohne abschliessende Nullen nach dem Komma. | |
| static string | roundNumStr (string &numStr, int digits, bool isSci, double forceSci=FORCE_SCI) |
| Rundet die Zahl in in numStr auf digits Stellen. | |
| static string | roundSxgNumStr (string &numStr, int maxLen) |
| Rundet die Sexagesimal-Zahl in numStr so, dass sie die Laenge maxLen nicht ueberschreitet (ohne Vorzeichen). | |
| static string | formatSeven (string &numStr, int len, int expLen, char fillChar) |
| Formatiert String numStr so, dass er genau len Zeichen lang ist, rechtsbuendig ist und der Exponent - falls vorhanden - mit Vorzeichen eine Laenge von expLen Zeichen hat. | |
| static string | formatFixNumStr (string &numStr, int digits, int digitsAfterPoint, bool isOstripped=true) |
| Formatiert String numStr, der Gleitkommazahl im fixed Format enthaelt, auf digitsAfterPoint Nachkommastellen. | |
| static string | trimNumStr (string numStr, int maxLen) |
| Haengt an numStr gegebenenfalls Dezimalpunkt an und bringt ihn rechtsbuendig auf maxLen Zeichen Laenge. | |
| static string | trimStr (string str, int len=15, Direction dir=LEFT, char fillChar= ' ') |
| Liefert String mit len Zeichen Laenge zurueck, der str an der Position dir enthaelt. | |
| static string | trimStr (int num, int len=15, Direction dir=LEFT, char fillChar= ' ') |
| Liefert String mit len Zeichen Laenge zurueck, der num an der Position dir enthaelt. | |
| static string | replace (const string &srcStr, const string &oldStr, const string &newStr) |
| Funktion ersetzt im String srcStr jedes Vorkommen des Strings oldStr durch den String newStr und gibt das Ergebnis als Return-Wert zurueck. | |
| static string | stripLines (string str) |
| Entfernt alle Kommentare (Kommentarsymbol ';') und fuehrende Leerzeichen/Tabulatoren einer Zeile aus dem String str und ersetzt alle Zeilenumbrueche durch ein Leerzeichen. | |
| static void | eraseCrs (string &str) |
| Entfernt aus dem uebergebenen String alle Carriage Returns ("\r"). | |
| static void | stripLine (string &line) |
| Entfernt aus dem uebergebenen String fuehrende Leer- und Tabulatorzeichen, abschliessende Leerzeichen und Kommentare, die durch ein Kommentarzeichen (';') abgetrennt sind, und ersetzt mehrfache Leerzeichen durch nur eines. | |
| static string | getNextSym (string &expr) |
| Holt aus dem String expr das erste Symbol. | |
| static double | fact (double n) |
| Berechnet rekursiv die Fakultaet n! der Zahl n. | |
| static double | root (double x, double y) |
| Berechnet x^(1/y). | |
Z.B. Funktionen zur Umwandlung von double in string (mit Rundung/Formatierung), Umwandeln von Strings in Grossbuchstaben u.a.
Die Klasse enthaelt keine Daten, nur statische Funktionen.
|
|
|
|
||||||||||||||||||||||||
|
Wandelt double val mit Formatierung in einen String.
|
|
|
Wandelt val in einen String im Sexagesimalformat um: z.B. 60°30'20" <=> 60.505556
|
|
|
Entfernt aus dem uebergebenen String alle Carriage Returns ("\r"). Noetig unter Windows, da dort am Zeilenende "\r\n" steht.
|
|
|
Berechnet rekursiv die Fakultaet n! der Zahl n.
|
|
||||||||||||
|
Formatiert double num im fixed Format auf insgesamt digits echte Stellen (Vor- + Nachkommastellen ohne Komma) ohne abschliessende Nullen nach dem Komma.
|
|
||||||||||||||||||||
|
Formatiert String numStr, der Gleitkommazahl im fixed Format enthaelt, auf digitsAfterPoint Nachkommastellen. Wenn die Gesamtzahl der Stellen dann aber digits ueberschreitet, wird auf digits Stellen insgesamt formatiert (Vor- + Nachkommastellen ohne Komma). Wenn isOstripped true, werden abschliessende Nullen nach dem Komma entfernt.
|
|
||||||||||||
|
Formatiert String numStr, der Gleitkommazahl im fixed Format enthaelt, auf insgesamt digits echte Stellen (Vor- + Nachkommastellen ohne Komma) ohne abschliessende Nullen nach dem Komma.
|
|
||||||||||||||||||||
|
Formatiert String numStr so, dass er genau len Zeichen lang ist, rechtsbuendig ist und der Exponent - falls vorhanden - mit Vorzeichen eine Laenge von expLen Zeichen hat. Leerstellen werden mit dem Fuellzeichen fillChar gefuellt.
|
|
||||||||||||
|
Funktion ermittelt die Anzahl der Stellen, um die das Komma einer Zahl in Folge eines Drucks auf die "ENG"- oder "ENG<"-Taste verschoben werden muss.
|
|
||||||||||||||||
|
Extrahiert aus dem String numStr die Mantisse mnt und den Exponenten exp als Strings. Wenn ein Exponent vorhanden ist, wird true zurueckgegeben. Beispiele: - "2.345e+002" => mnt = "2.345" , exp = "+002" - "3.4567" => mnt = "3.4567" , exp = "" - "123.45000" => mnt = "123.45000", exp = "" - "-23.400e-032" => mnt = "-23.400" , exp = "-032"
|
|
||||||||||||||||
|
Extrahiert aus dem String numStr die Mantisse m und den Exponenten e als double bzw. int.
|
|
|
Holt aus dem String expr das erste Symbol.
|
|
||||||||||||||||
|
Funktion ersetzt im String srcStr jedes Vorkommen des Strings oldStr durch den String newStr und gibt das Ergebnis als Return-Wert zurueck.
|
|
||||||||||||
|
Berechnet x^(1/y). Als Besonderheit sind auch die Wurzeln negativer Radikanden erlaubt, sofern y ganzzahlig und ungerade.
|
|
||||||||||||||||
|
Funktion bringt die Mantisse der Zahl in numStr auf hoechstens digits Stellen, falls sie mehr Stellen hat. Die Zahl in numStr liegt eigentlich bereits in der gewuenschten Form (SCI, FIX, shiftNum, Anzahl Stellen, Anzahl Stellen der Mantisse) vor und wird in der Regel unveraendert wieder zurueckgegeben. Es kann aber sein, dass die Zahl (bzw. die Mantisse) zu viele Stellen hat, um noch in der Anzeige dargestellt werden zu koennen. Dann muss die Zahl (bzw. nur die Mantisse) auf die passende Stellenanzahl neu gerundet werden. Dabei kann es auch passieren, dass von FIX- in SCI-Notation gewechselt werden muss. In diesem Fall veraendert sich aber die Bedeutung von digits! Denn die Mantisse darf dann natuerlich nur die Zahl von Stellen abzueglich der Stellen fuer den Exponenten haben. Ein Vorzeichen zaehlt bei der Stellenanzahl nicht mit. Ein besonderer Fall besteht auch, wenn die Zahl mit einer Anzahl von Nullen beginnt (z.B. 0.00012345678); entweder wird dann in die SCI-Notation gewechselt (wenn die Zahl kleiner als forceSci ist), oder die Zahl der Stellen muss um die Zahl der fuehrenden Nullen reduziert werden, um den ganzen String noch unterzubringen. Wenn die resultierende Stellenzahl kleiner wird als eins, wird ebenfalls in SCI-Notation gewechselt.
|
|
||||||||||||||||||||
|
Rundet die Zahl in in numStr auf digits Stellen. Die Zahl kann dabei sowohl in FIX- als auch in SCI-Notation gegeben sein. Wenn isSci true ist, wird die Zahl auf jeden Fall in SCI-Notation zurueckgeliefert; wenn isSci false ist, wird zusaetzlich forceSci ausgewertet: Die Zahl wird in FIX-Notation zurueckgegeben, wenn sie groesser oder gleich forceSci ist, sonst als SCI. kleiner als forceSci ist.
|
|
||||||||||||
|
Rundet die Sexagesimal-Zahl in numStr so, dass sie die Laenge maxLen nicht ueberschreitet (ohne Vorzeichen). Format der Sexagesimalzahl: 12°34'56.78 (Grad, Minuten, Sekunden). Die Stellenanzahl der Minuten kann 2 nicht ueberschreiten, die Anzahl der Vorkommastellen der Sekunden ebenfalls nicht.
|
|
||||||||||||||||
|
Erzeugt einen String in Exponentialschreibweise mit der Zahl, die in num uebergeben wird.
|
|
||||||||||||||||
|
Erwartet in numStr den String einer Zahl in Fix- oder Sci-Notation (keinen Bruch) und wandelt ihn in eine Zahl in "Engineering"-Notation, d.h., der Exponent ist ein Vielfaches von 3.
Je nach Urzustand 1. ENG 2. ENG 1. ENG< 2. ENG<
3.1 3.1+00 (1,0) 3100-03 (2,3) 3.1+00 ( 1, 0) 0.0031+03 (-2,-3)
3.1 3.1+00 (-1, 0) 0.0031+03 (-2,-3)
3.1-01 310-03 (1,2) 310000-06 (2,5) 310-03 ( 1, 2) 0.31+00 ( 0,-1)
3.1-01 0.31+00 (-1,-1) 0.00031+03 (-2,-4)
|
|
||||||||||||||||
|
Funktion verchiebt alle Zeichen des Strings str um ein Zeichen nach links oder rechts, abhaengig von dir. Dabei muss ein neues Zeichen recruit von der entsprechenden Seite nachruecken. Wenn das Zeichen "" ist, wird das auf der anderen Seite herausfallende Zeichen als Nachruecker verwendet.
|
|
|
Entfernt aus dem uebergebenen String fuehrende Leer- und Tabulatorzeichen, abschliessende Leerzeichen und Kommentare, die durch ein Kommentarzeichen (';') abgetrennt sind, und ersetzt mehrfache Leerzeichen durch nur eines.
|
|
|
Entfernt alle Kommentare (Kommentarsymbol ';') und fuehrende Leerzeichen/Tabulatoren einer Zeile aus dem String str und ersetzt alle Zeilenumbrueche durch ein Leerzeichen.
Vom String wird angenommen, dass er aus mehreren Zeilen besteht, die durch '
|
|
|
Erwartet in numStr den String einer Zahl in SCI- oder FIX-Notation und entfernt endstaendige Nachkomma-Nullen der Mantisse.
|
|
|
Wandelt String in Kleinbuchstaben um.
|
|
||||||||||||
|
Haengt an numStr gegebenenfalls Dezimalpunkt an und bringt ihn rechtsbuendig auf maxLen Zeichen Laenge. Beispiele mit maxLen = 10: "123" 3 => " 123." "0.12345678" 10 => "0.12345678" "-0.12345678" 11 => "-.12345678" "-12345678" 9 => "-12345678." "-12.345678" 10 => "-12.345678" "-0.123" 6 => " -0.123" "-1.2345-12" 10 => "-1.2345-12"
|
|
||||||||||||||||||||
|
Liefert String mit len Zeichen Laenge zurueck, der num an der Position dir enthaelt. Leerzeichen werden mit fillChar aufgefuellt.
|
|
||||||||||||||||||||
|
Liefert String mit len Zeichen Laenge zurueck, der str an der Position dir enthaelt. Leerzeichen werden mit fillChar aufgefuellt.
|
1.4.1