IBM FileNet P8, Version 5.2.1            

Implizite Konvertierung

Die implizite Konvertierung von Ausdrucksergebnissen erfolgt zur Ausführungszeit für bestimmte Datentypkombinationen.

Die implizite Konvertierung erfolgt z. B., wenn ein ganzzahliger Ausdruck als Anfangswert für ein Datenfeld vom Gleitkommadatentyp angegeben wird. Innerhalb eines Ausdrucks gibt es keine implizite Konvertierung eines Zeichenfolgewerts in einen Zeitwert; Sie müssen die Funktion convert oder die Funktion stringtotime verwenden, um den Zeichenfolgewert explizit in einen Zeitwert zu konvertieren.

In einem komplexen Ausdruck erfolgt die implizite Konvertierung, damit der Datentyp des Arguments die Anforderungen eines Operators oder einer Funktion erfüllt. Die Funktion substr beispielsweise verwendet ganzzahlige Werte als Argumente für die Anfangsposition und die Länge. Wenn Sie für diese Argumente die Gleitkommawerte 2,5 und 1,0 angeben, werden diese vor der Auswertung des Ausdrucks implizit in die ganzzahligen Werte 2 und 1 konvertiert.

Die implizite Konvertierung erfolgt zur Ausführungszeit für die folgenden Datentypkombinationen:

Gleitkomma in Ganzzahl

Alle Ziffern rechts vom Dezimalzeichen in der Gleitkommazahl werden abgeschnitten. Wenn Sie z. B. 123,4567 als Anfangswert für ein ganzzahliges Datenfeld angeben, wird der Wert des Datenfelds auf 123 gesetzt.

Anmerkung: Die Konvertierung von Gleitkomma- in ganzzahlige Werte erfolgt nicht bei der Initialisierung eines Array-Datenfelds. Alle für ein ganzzahliges Array angegebenen Elemente (entweder als einfache oder komplexe Ausdrücke) müssen ganzzahlige Werte sein. Wenn Sie z. B. einen Anfangswert für ein ganzzahliges Array-Datenfeld angeben oder die Zuweisungssystemfunktion (Assign) verwenden, um einem ganzzahligen Array-Datenfeld Werte zuzuweisen, umfassen gültige Werte {3} und {3 + 5, 7}. Die Werte {3,0} und {3 + 5,5, 7} sind jedoch nicht gültig.

Ganzzahl in Gleitkomma

An die letzte Ziffer der Ganzzahl wird ein Dezimalzeichen und eine 0 angehängt.

In einem komplexen Ausdruck, der sowohl Gleitkomma- als auch ganzzahlige Werte enthält, erfolgt die implizite Konvertierung, wenn ein Operator voraussetzt, dass die Werte denselben Datentyp haben. In diesem Fall wird der ganzzahlige Wert vor der Auswertung des Ausdrucks in den Gleitkommadatentyp konvertiert. Wenn Sie z. B. 1,5 + 2 angeben, wird 2 in 2,0 konvertiert.

Anmerkung: Die Konvertierung von ganzzahligen in Gleitkommawerte erfolgt nicht bei der Initialisierung eines Array-Datenfelds mit einfachen Ausdrücken. Alle als einfache Ausdrücke angegebenen Elemente für ein Gleitkommaarray müssen Gleitkommawerte sein. Sie können z. B. {3,0} oder { convert(1, float) }, nicht jedoch {3} angeben.


Letzte Aktualisierung: März 2016
bpfe016.htm

© Copyright IBM Corp. 2016.