Converts a character sequence to a long double.

double stold(
    const string& _Str, 
    size_t *_Idx = 0
double stold(
    const wstring& _Str, 
    size_t *_Idx = 0




The character sequence to be converted.


The index value of the first unconverted character.

The long double value.

The function converts the sequence of elements in _Str to a value _Val of type long double as if by calling strtold(_Str.c_str(), _Eptr), where _Eptr is an object internal to the function. If _Str.c_str() == *_Eptr it throws an object of type invalid_argument. If such a call would set errno, it throws an object of type out_of_range. Otherwise, if _Idx is not a null pointer, the function stores *_Eptr - _Str.c_str() in *_Idx and returns _Val.

Header: <string>

Namespace: std