IBM FileNet P8, Version 5.2.1            

Funktionen für Datentypkonvertierung

Dieser Abschnitt enthält eine kurze Beschreibung der Funktionen, die Ausdrücke aus einem Datentyp in einen anderen konvertieren.

Tabelle 1. Tabelle mit Funktionen zum Konvertieren eines Datentyps in einen anderen
Funktion Verwendungszweck
convert Konvertiert einen Ausdruck aus einem unterstützten Datentyp in einen anderen.
numbertostring Konvertiert einen Ganzzahl- oder Gleitkommaausdruck in einen Zeichenfolgeausdruck unter Verwendung einer angegebenen Maske.
stringtotime Konvertiert einen Zeichenfolgeausdruck in einen Zeitausdruck unter Verwendung einer angegebenen Maske.
timetostring Konvertiert einen Zeitausdruck in einen Zeichenfolgeausdruck unter Verwendung einer angegebenen Maske.
is_valid Ermittelt, ob der angegebene Ausdruck ein gültiger Wert ist, der in den angegebenen einfachen Datentyp konvertiert werden kann.

convert

Diese Funktion konvertiert einen Ausdruck aus einem unterstützten Datentyp in einen anderen. Verwenden Sie die folgende Syntax:
convert (source_expr, type_name)
Dabei gilt Folgendes:
Tabelle 2. Parameter und Beschreibungen für die Funktion convert
Parameter Beschreibung
source_expr Ein Ausdruck eines beliebigen unterstützten Datentyps. Dieser Ausdruck wird in den in type_name angegebenen Datentyp konvertiert.
type_name

Der Datentyp, in den source_expr konvertiert wird. Gültige Einträge sind: float, float[ ], integer, integer[ ], string, string[], Boolean, Boolean[ ], time und time[ ].

Wenn auf type_name eckige Klammern ([ ]) folgen, dann muss source_expr auch ein Array sein. Jedes Element im Array wird gemäß den Regeln, die für den einfachen Datentyp gelten, in type_name konvertiert.

Die Ergebnisse der Funktion convert unterscheiden in Abhängigkeit der Datentypen, die in source_expr und type_name angegeben sind.

Anmerkung: Beachten Sie, dass die Verwendung der Funktion convert in Verbindung mit bestimmten Datentypkombinationen zu Syntaxfehlern führt. Es ist z. B. unlogisch, einen Zeitdatentyp in einen booleschen Datentyp zu konvertieren. In diesem Fall tritt ein Syntaxfehler auf. Verwenden Sie bei Bedarf die Funktion is_valid, um den Typ eines Ausdrucks zu überprüfen, bevor Sie diesen Ausdruck in der Funktion convert verwenden.

Aus dem booleschen Datentyp konvertieren

Wenn der Quellenausdruck (source_expr) vom booleschen Datentyp ist, sieht das Ergebnis der Funktion convert wie folgt aus:

Tabelle 3. Ergebnisse der Funktion convert bei einem boolescher Datentyp
Aus dem booleschen Datentyp konvertieren in ... Ergebnisse
Boolesch Keine Änderung.
Gleitkomma Ist der boolesche Ausdruck 'true' (wahr), ist das Ergebnis 1. Ist der boolesche Ausdruck 'false' (falsch), ist das Ergebnis 0.
Ganzzahl Ist der boolesche Ausdruck 'true' (wahr), ist das Ergebnis 1. Ist der boolesche Ausdruck 'false' (falsch), ist das Ergebnis 0.
Zeichenfolge Ist der boolesche Ausdruck 'true' (wahr), ist das Ergebnis 'true'. Ist der boolesche Ausdruck 'false' (falsch), ist das Ergebnis 'false'.
Zeit Syntaxfehler.

Aus dem Gleitkommadatentyp konvertieren

Wenn der Quellenausdruck (source_expr) vom Gleitkommadatentyp ist, sieht das Ergebnis der Funktion convert wie folgt aus:

Tabelle 4. Ergebnisse der Funktion convert bei einem Gleitkommadatentyp
Aus dem Gleitkommadatentyp konvertieren in ... Ergebnisse
Boolesch

Bei source_expr = 0 ist das Ergebnis 'false'. Bei source_expr = 1 ist das Ergebnis 'true'.

source_expr <> 0 oder 1 führt zu einem Syntaxfehler.

Gleitkomma Keine Änderung.
Ganzzahl Konvertiert den ganzzahligen Teil von source_expr (d. h. schneidet alle Ziffern rechts vom Dezimalzeichen ab). Wenn das Ergebnis nicht im zulässigen Bereich für ganze Zahlen liegt, tritt ein Fehler auf.
Zeichenfolge Ergibt eine Zeichenfolge numerischer Zeichen, die die Gleitkommazahl darstellen.
Zeit

Verwendet den ganzzahligen Teil von source_expr als Anzahl der Sekunden, die zu 1/1/1970 00:00:00 UTC (Coordinated Universal Time) addiert werden sollen, und gibt die neue Zeit aus.

UTC (Coordinated Universal Time; koordinierte Weltzeit) - früher als GMT (Greenwich Mean Time) bezeichnet - ist die weltweite Standard-Referenzzeitzone.

Beispiel: convert (5,3, time) gibt 1/1/1970 00:00:05 zurück.

Aus dem Ganzzahldatentyp konvertieren

Wenn der Quellenausdruck (source_expr) vom Ganzzahldatentyp ist, sieht das Ergebnis der Funktion convert wie folgt aus:
Tabelle 5. Ergebnisse der Funktion convert bei einem Ganzzahldatentyp
Aus dem Ganzzahldatentyp konvertieren in ... Ergebnisse
Boolesch

Bei source_expr = 0 ist das Ergebnis 'false'. Bei source_expr = 1 ist das Ergebnis 'true'.

source_expr <> 0 oder 1 führt zu einem Syntaxfehler.

Gleitkomma Ergibt den entsprechenden Gleitkommawert.
Ganzzahl Keine Änderung.
Zeichenfolge Ergibt eine Zeichenfolge numerischer Zeichen, die die ganze Zahl darstellen.
Zeit

Verwendet source_expr als Anzahl der Sekunden, die zu 1/1/1970 00:00:00 UTC (Coordinated Universal Time) addiert werden sollen, und gibt die neue Zeit aus.

Beispiel: convert (5, time) gibt 1/1/1970 00:00:05 zurück.

Aus dem Zeichenfolgedatentyp konvertieren

Wenn der Quellenausdruck (source_expr) vom Zeichenfolgedatentyp ist, sieht das Ergebnis der Funktion convert wie folgt aus:

Tabelle 6. Ergebnisse der Funktion convert bei einem Zeichenfolgedatentyp
Aus dem Zeichenfolgedatentyp konvertieren in ... Ergebnisse
Boolesch Syntaxfehler, es sei denn, source_expr = "true" oder source_expr = "false". (Jede Kombination aus Groß- und Kleinbuchstaben ist zulässig.)
Gleitkomma Syntaxfehler, es sei denn, der source_expr ist eine zulässige Darstellung eines Gleitkommawerts.
Ganzzahl Syntaxfehler, es sei denn, der source_expr ist eine zulässige Darstellung eines ganzzahligen Werts.
Zeichenfolge Keine Änderung.
Zeit

Syntaxfehler, es sei denn, der source_expr ist eine zulässige Darstellung eines Zeitwerts und verwendet das Format, das in der Datums-/Zeitmaske für das Workflowsystem angegeben ist.

Aus dem Zeitdatentyp konvertieren

Wenn der Quellenausdruck (source_expr) vom Zeitdatentyp ist, sieht das Ergebnis der Funktion convert wie folgt aus:

Tabelle 7. Ergebnisse der Funktion convert bei einem Zeitdatentyp
Aus dem Zeitdatentyp konvertieren in... Ergebnisse
Boolesch Syntaxfehler.
Gleitkomma

Gibt die Anzahl Sekunden zwischen der aktuellen Systemzeit und time und 1/1/1970 00:00:00 UTC (koordinierte Weltzeit) zurück.

Beispiel: bei SysTime = 1/1/1970 00:00:28 UTC gibt convert (SysTime, float) das Ergebnis 28 zurück.

Wenn die aktuelle Systemzeit auf eine andere Zeitzone als UTC gesetzt ist, nimmt die Konvertierungsfunktion die erforderlichen Anpassungen vor. Beispiel: Zwischen PST (Pacific Standard Time) und UTC sind 8 Stunden Zeitdifferenz; wenn SysTime = 1/1/1970 00:00:28 PST und die lokale Zeitzone die PST ist, dann gibt convert(SysTime, float) das Ergebnis 28828,0 zurück.

8(Stunden) * 60(Minuten) *60(Sekunden) + 28(Sekunden)

Ganzzahl

Gibt die Anzahl Sekunden zwischen der aktuellen Systemzeit und time und 1/1/1970 00:00:00 UTC (koordinierte Weltzeit) zurück.

Beispiel: bei SysTime = 1/1/1970 00:00:28 UTC gibt convert (SysTime, integer) das Ergebnis 28 zurück.

Wenn die aktuelle Systemzeit auf eine andere Zeitzone als UTC gesetzt ist, nimmt die Konvertierungsfunktion die erforderlichen Anpassungen vor. Beispiel: Zwischen PST und UTC sind 8 Stunden Zeitdifferenz; wenn SysTime = 1/1/1970 00:00:28 PST und die lokale Zeitzone die Pacific Standard Time ist, dann gibt convert(SysTime, integer) das Ergebnis 28828 zurück.

8(Stunden) * 60(Minuten) *60(Sekunden) + 28(Sekunden)

Zeichenfolge

Ergibt eine Zeichenfolgedarstellung von source_expr. Diese Zeichenfolge verwendet das Format, das in der Datums-/Zeitmaske für das Workflowsystem angegeben ist.

Zeit Keine Änderung

numbertostring

Diese Funktion konvertiert einen Gleitkomma- oder ganzzahligen Ausdruck in einen Zeichenfolgeausdruck unter Verwendung des angegebenen Formats. Verwenden Sie diese Funktion, wenn Sie eine Zahl in einem bestimmten Format anzeigen wollen (z. B. $ 1.000.000). Sie können die Funktion numbertostring auch verwenden, um Zahlen abzurunden.

Verwenden Sie die folgende Syntax:
numbertostring (num_exp{, num_mask}opt)
Dabei gilt Folgendes:
Parameter Beschreibung
num_exp Ein Ausdruck vom Gleitkomma- oder Ganzzahldatentyp.
num_mask

Eine numerische Maske, die das Format der Ausgabe der Funktion numbertostring bestimmt.

Eine numerische Maske ist zwar optional, doch ohne Eingabe einer numerischen Maske entspricht die Funktion numbertostring der Funktion convert.

Numerische Maske

Eine numerische Maske ist eine Vorlage, die zum Formatieren der Ausgabe der Funktion numbertostring verwendet wird. Eine numerische Maske ist ein Zeichenfolgeausdruck, der eine gültige Kombination der folgenden Komponenten enthält.

Komponente Bedeutung
+ (Plus)

Wenn dies die erste oder letzte Komponente in der Maske ist, gibt sie das Vorzeichen der Zahl an.

An anderen Stellen als an der ersten oder der letzten Stelle wird das Pluszeichen genau an der Stelle in die Ausgabezeichenfolge eingefügt, an der Sie es in der Maske gesetzt haben. Beispiel:

numbertostring (12345, "###+##")

Ausgabe: 123+45

- (Minus)

Wenn dies die erste oder letzte Komponente in der Maske ist, wird ein negatives Vorzeichen angezeigt, wenn die Zahl negativ ist, oder ein Leerzeichen, wenn die Zahl positiv ist.

An anderen Stellen als an der ersten oder der letzten Stelle wird das Minuszeichen genau an der Stelle in die Ausgabezeichenfolge eingefügt, an der Sie es in der Maske gesetzt haben. Beispiel:

numbertostring (123456789, "###-##-####")

Ausgabe: 123-45-6789

# (Nummernzeichen) Zeigt eine Ziffer an, wenn diese signifikant ist. Wenn die Maske mehr Nummernzeichen enthält, als es signifikante Ziffern gibt, werden den Nummernzeichen von rechts beginnend Ziffern zugeordnet und überschüssige Nummernzeichen links bleiben eventuell leer.
0 (null) Zeigt eine Ziffer an, unabhängig davon, ob diese signifikant ist; dies kann zu führenden und abschließenden Nullen führen.
. (dezimal) Bestimmt, wo das Dezimalzeichen steht. Ohne Angabe wird angenommen, dass das Dezimalzeichen am rechten Ende der Maske steht. Die Zahl wird abgerundet, sodass sie in die Maske passt. In einer Maske ist nur ein Dezimalzeichen zulässig.

Beispiele für numerische Masken

Im Folgenden ist die jeweilige Ausgabe angegeben, die sich ergibt, wenn die Funktion numbertostring die folgenden Zahlen konvertiert: 0, +29, -3344 und 77,88369. Die Ausgabe wird entsprechend der angegebenen numerischen Masken formatiert.

Anmerkung: Wenn die Maske zu klein für die Zahl ist, tritt ein Fehler auf. Die Maske ist zu klein, wenn links vom Dezimalzeichen zu wenig Nummernzeichen oder Nullen angegeben sind. Die Maske ## beispielsweise ist zu klein für die Zahl 300.
Maske 0 +29 -3344 77,88369
0000 0000 0029 3344 0078
####   29 3344 78
$#,### $ $29 $3,344 $78
+#### + +29 -3344 +78
-####   29 -3344 78
####+ + 29+ 3344- 78+
####- 29 3344- 78
##.## . 29. Laufzeitfehler 77.88

Zahlen abrunden

Verwenden Sie die Funktion numbertostring mit einer entsprechenden numerischen Maske, um eine Zahl abzurunden. Jede Zahl wird so abgerundet, dass sie an die letzte Stelle in der Maske passt. Im folgenden Beispiel wird eine Zahl auf Tausendstel abgerundet. In diesem Beispiel ist Number1 der Name eines Ausdrucks vom Gleitkommadatentyp.
numbertostring (Number1, "#,###.###")
Bei Number1 = 3344,7788 sieht die Ausgabe wie folgt aus:
3,344.779

is_valid

Diese Funktion ermittelt, ob der angegebene Ausdruck ein gültiger Wert ist, der in den angegebenen einfachen Datentyp konvertiert werden kann. Diese Funktion gibt den booleschen Wert 'true' (wahr) zurück, wenn der Ausdruck gültig ist, ansonsten gibt die Funktion den Wert 'false' (falsch) zurück. Es kann sinnvoll sein, den Typ eines Ausdrucks über die Funktion is_valid zu prüfen, bevor Sie diesen Ausdruck in einer Funktion convert verwenden. Verwenden Sie die folgende Syntax:
is_valid (expr, type)
Dabei gilt Folgendes:
Tabelle 8. Parameter und Beschreibungen für die Funktion is_valid
Parameter Beschreibung
expr Ein beliebiger Ausdruck.
type Ein einfacher Datentyp (boolesch, Gleitkomma, Ganzzahl, Zeichenfolge, Zeit).
Im Folgenden sind zwei Beispiele mit Zeichenfolgeausdrücken aufgeführt. Das erste Beispiel gibt 'true' zurück, das zweite 'false'. Im ersten Beispiel ist str = "true".
is_valid (str, Boolean)
is_valid ("1.2.3", float)
Das Beispiel unten prüft, ob der angegebene Gleitkommaausdruck für die Konvertierung in den Ganzzahldatentyp zulässig ist. Dieses Beispiel gibt 'false' zurück, da der Gleitkommawert nicht im Bereich zulässiger Ganzzahlwerte liegt.
is_valid (1e20, integer)


Letzte Aktualisierung: März 2016
bpfe005.htm

© Copyright IBM Corp. 2016.