[string.conversions] (original) (raw)

27 Strings library [strings]

27.4 String classes [string.classes]

27.4.5 Numeric conversions [string.conversions]

int stoi(const string& str, size_t* idx = nullptr, int base = 10);long stol(const string& str, size_t* idx = nullptr, int base = 10);unsigned long stoul(const string& str, size_t* idx = nullptr, int base = 10);long long stoll(const string& str, size_t* idx = nullptr, int base = 10);unsigned long long stoull(const string& str, size_t* idx = nullptr, int base = 10);

Effects: The first two functions call strtol(str.c_str(), ptr, base), and the last three functions call strtoul(str.c_str(), ptr, base),strtoll(str.c_str(), ptr, base), and strtoull(​str.c_str(), ptr, base), respectively.

Each function returns the converted result, if any.

The argument ptr designates a pointer to an object internal to the function that is used to determine what to store at *idx.

If the function does not throw an exception and idx != nullptr, the function stores in *idxthe index of the first unconverted element of str.

Returns: The converted result.

Throws: invalid_argument if strtol, strtoul,strtoll, or strtoull reports that no conversion can be performed.

Throws out_of_range if strtol, strtoul,strtoll or strtoull sets errno to ERANGE, or if the converted value is outside the range of representable values for the return type.

float stof(const string& str, size_t* idx = nullptr);double stod(const string& str, size_t* idx = nullptr);long double stold(const string& str, size_t* idx = nullptr);

Effects: These functions callstrtof(str.c_str(), ptr), strtod(str.c_str(), ptr), andstrtold(​str.c_str(), ptr), respectively.

Each function returns the converted result, if any.

The argument ptr designates a pointer to an object internal to the function that is used to determine what to store at*idx.

If the function does not throw an exception and idx != nullptr, the function stores in *idx the index of the first unconverted element of str.

Returns: The converted result.

Throws: invalid_argument if strtof, strtod, orstrtold reports that no conversion can be performed.

Throwsout_of_range if strtof, strtod, orstrtold sets errno to ERANGEor if the converted value is outside the range of representable values for the return type.

string to_string(int val); string to_string(unsigned val); string to_string(long val); string to_string(unsigned long val); string to_string(long long val); string to_string(unsigned long long val); string to_string(float val); string to_string(double val); string to_string(long double val);

Returns: format("{}", val).

int stoi(const wstring& str, size_t* idx = nullptr, int base = 10);long stol(const wstring& str, size_t* idx = nullptr, int base = 10);unsigned long stoul(const wstring& str, size_t* idx = nullptr, int base = 10);long long stoll(const wstring& str, size_t* idx = nullptr, int base = 10);unsigned long long stoull(const wstring& str, size_t* idx = nullptr, int base = 10);

Effects: The first two functions call wcstol(str.c_str(), ptr, base), and the last three functions call wcstoul(str.c_str(), ptr, base),wcstoll(str.c_str(), ptr, base), and wcstoull(​str.c_str(), ptr, base), respectively.

Each function returns the converted result, if any.

The argument ptr designates a pointer to an object internal to the function that is used to determine what to store at *idx.

If the function does not throw an exception and idx != nullptr, the function stores in *idxthe index of the first unconverted element of str.

Returns: The converted result.

Throws: invalid_argument if wcstol, wcstoul, wcstoll, orwcstoull reports that no conversion can be performed.

Throwsout_of_range if the converted value is outside the range of representable values for the return type.

float stof(const wstring& str, size_t* idx = nullptr);double stod(const wstring& str, size_t* idx = nullptr);long double stold(const wstring& str, size_t* idx = nullptr);

Effects: These functions call wcstof(str.c_str(), ptr),wcstod(str.c_str(), ptr), and wcstold(​str.c_str(), ptr), respectively.

Each function returns the converted result, if any.

The argument ptr designates a pointer to an object internal to the function that is used to determine what to store at *idx.

If the function does not throw an exception and idx != nullptr, the function stores in *idxthe index of the first unconverted element of str.

Returns: The converted result.

Throws: invalid_argument if wcstof, wcstod, or wcstold reports that no conversion can be performed.

Throws out_of_range if wcstof, wcstod, orwcstold sets errno to ERANGE.

wstring to_wstring(int val); wstring to_wstring(unsigned val); wstring to_wstring(long val); wstring to_wstring(unsigned long val); wstring to_wstring(long long val); wstring to_wstring(unsigned long long val); wstring to_wstring(float val); wstring to_wstring(double val); wstring to_wstring(long double val);

Returns: format(L"{}", val).