pure functionscanReal

Scan a signed real number

Extends from Modelica.Icons.Function (Icon for functions).

Information

Syntax

(nextIndex, realNumber) = scanReal(string, startIndex=1, unsigned=false);

Description

Starts scanning of "string" at position "startIndex". First skips white space and scans afterwards a number of type Real with an optional sign according to the Modelica grammar:

real     ::= [sign] unsigned [fraction] [exponent]
sign     ::= '+' | '-'
unsigned ::= digit [unsigned]
fraction ::= '.' [unsigned]
exponent ::= ('e' | 'E') [sign] unsigned
digit    ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'

If successful, the function returns nextIndex = index of character directly after the found real number, as well as the value in the second output argument.

If not successful, on return nextIndex = startIndex and the second output argument is zero.

If the optional argument "unsigned" is true, the number shall not start with '+' or '-'. The default of "unsigned" is false.

See also

Strings.Advanced.

Inputs

TypeNameDefaultDescription
Stringstring
IntegerstartIndex1Index where scanning starts
Booleanunsignedfalse= true, if number shall not start with '+' or '-'

Outputs

TypeNameDefaultDescription
IntegernextIndexIndex after the found token (success=true) or index at which scanning failed (success=false)
RealnumberValue of Real number