Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: Français - Português - 日本語 - Русский

Scilab Help >> Strings > strtod

# strtod

convert string to double

### Calling Sequence

```d =  strtod(str [,decimalseparator])
[d, endstr] = strtod(str [,decimalseparator])```

### Arguments

str

a character string or matrix of character strings.

decimalseparator

the decimal separator chosen: "." (by default) or ",".

d

a real or matrix of reals.

endstr

a character string or matrix of character strings (next character in `str` after the numerical value).

### Description

`[d, endstr] = strtod(str)` parses strings `str` interpreting its content as a floating point number and returns its value as a real. If `str` does not contain any numerical value then `d` equals `Nan`.

### Remarks

• This function is based on the strtod C function which causes different behaviors on Windows and Linux. In fact, on Windows, it is possible to use d or D for exponents, but it is not possible to use hexadecimal numbers.

• Note that `strtod("%inf")` returns `Nan`.

### Examples

```strtod('123.556This is a sample real')
strtod('123,556This is a sample real', ",")
[d,endstr] = strtod('123.556This is a sample real')
strtod(['123.556This is a sample real','888.666 here'])
[d,endstr] =strtod(['123.556This is a sample real','888.666 here'])
[d,endstr] =strtod(['123.556This is a sample real','888,666 here'], ",")```

### History

 Version Description 5.5.0 New optional input: decimalseparator (SEP 97). 5.4.1 If `str` does not contain any numerical value then `d` equals `Nan` instead of `0` in previous versions.