Last Updated : 29 Oct, 2018
double stod( const std::string& str, std::size_t* pos = 0 ); double stod( const std::wstring& str, std::size_t* pos = 0 ); Return Value: return a value of type double Parameters str : the string to convert pos : address of an integer to store the number of characters processed. This parameter can also be a null pointer, in which case it is not used.CPP
// CPP program to illustrate
// std::stod()
#include <string>
#include <iostream>
int main(void)
{
std::string str = "y=4.4786754x+5.6";
double y, x, a, b;
y = 0;
x = 0;
// offset will be set to the length of
// characters of the "value" - 1.
std::size_t offset = 0;
a = std::stod(&str[2], &offset);
b = std::stod(&str[offset + 3]);
std::cout << b;
return 0;
}
Output:
5.6Another Example : CPP
// CPP program to illustrate
// std::stod()
#include <iostream>
#include <string>
using namespace std;
int main()
{
string b = "5";
double a = stod(b);
int c = stoi(b);
cout << b << " " << a << " " << c << endl;
}
Output:
5 5 5If conversion is not performed, an invalid_argument exception is thrown. If the value read is out of the range of representable values by a double an out_of_range exception is thrown. An invalid idx causes undefined behavior.
float stof( const string& str, size_t* pos = 0 ); float stof( const wstring& str, size_t* pos = 0 ); Parameters str : the string to convert pos : address of an integer to store the number of characters processed This parameter can also be a null pointer, in which case it is not used. Return value: it returns value of type float.Example 1: CPP
// CPP program to illustrate
// std::stof()
#include <iostream>
#include <string>
int main()
{
std::string x;
x = "20";
float y = std::stof(x) + 2.5;
std::cout << y;
return 0;
}
Output:
22.5Example 2: CPP
// CPP program to illustrate
// std::stof()
#include <iostream>
#include <string>
int main()
{
std::string str = "5000.5";
float x = std::stof(str);
std::cout << x;
return 0;
}
Output:
5000.5If no conversion could be performed, an invalid_argument exception is thrown.
long double stold( const string& str, size_t *pos = 0 ); long double stold (const wstring& str, size_t* pos = 0); Parameters : str : the string to convert pos : address of integer to store the index of the first unconverted character. This parameter can also be a null pointer, in which case it is not used. Return value : it returns value of type long double.Examples 1: CPP
// CPP program to illustrate
// std::stold()
#include <iostream>
#include <string>
int main()
{
std::string str = "500087";
long double x = std::stold(str);
std::cout << x;
return 0;
}
Output:
500087Example 2: CPP
// CPP program to illustrate
// std::stold()
#include <iostream>
#include <string>
int main()
{
std::string x;
x = "2075";
long double y = std::stof(x) + 2.5;
std::cout << y;
return 0;
}
Output:
2077.5
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4