scanReal

Scan a signed real number

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

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.

Syntax

(nextIndex, number) = scanReal(string, startIndex, unsigned)

Inputs (3)

string

Type: String

startIndex

Default Value: 1

Type: Integer

Description: Index where scanning starts

unsigned

Default Value: false

Type: Boolean

Description: = true, if number shall not start with '+' or '-'

Outputs (2)

nextIndex

Type: Integer

Description: Index after the found token (success=true) or index at which scanning failed (success=false)

number

Type: Real

Description: Value of Real number