StringToReal (Funktion)
- Last UpdatedSep 14, 2023
- 1 minute read
Mit der Skriptfunktion StringToReal() können Sie eine Zeichenfolge, die einen Zahlenwert enthält, in einen Real-Wert umwandeln.
Auf diese Weise können Sie den Wert für weitere Berechnungen verwenden.
Hinweis: Die Funktion unterstützt auch Werte in Exponentialschreibweise. "1e+6" wird beispielsweise korrekt als 1000000 erkannt.
Syntax
Ergebnis = StringToReal (Zeichenfolge)
Parameter
String
Zeichenfolgenkonstante, Meldungsvariable oder Zeichenfolgenausdruck.
Anmerkungen
Die Funktion überprüft zunächst das erste Zeichen der Zeichenfolge. Wenn es sich dabei um eine Ziffer handelt, wird versucht, diese und alle folgenden Ziffern als Real-Wert zu interpretieren, bis die Funktion wieder auf ein Zeichen stößt, das keine Ziffer ist. Leerzeichen am Anfang der Zeichenfolge werden ignoriert.
Das folgende Beispiel zeigt, wie Sie auch einen Wert konvertieren können, der nicht direkt am Anfang einer Zeichenfolge steht. MVar ist dabei die Meldungsvariable, die den Wert enthält. Der Wert wird in die Real-Variable RVar geschrieben.
DIM i AS INTEGER;
DIM tmp AS INTEGER;
FOR i = 1 TO StringLen(mtag) {ein Durchlauf für jedes Zeichen in mtag}
tmp = StringASCII(StringMid(mtag, i, 1)) - 48; {ASCII-Wert ermitteln}
IF (tmp>=0 AND tmp<10) THEN {ASCII-Wert steht für Zeichen "0" bis "9"}
rtag = StringToReal(StringMid(mtag, i, 0)); {Zeichenfolge ab hier konvertieren; Schleifenabbruch}
EXIT FOR;
ENDIF;
NEXT;
Beispiel(e)
StringToReal("ABCD") gibt 0 zurück.
StringToReal("13.4 mbar") gibt 13,4 zurück.
StringToReal("Druck = 13.4") gibt 0 zurück