The C++ std::string::stod() function is used to convert a string to a double floating point number. It analyse the initial characters of the string as a floating point number and returns its value. If the conversion is failed, it throws an invalid_argument exception.
SyntaxIf we take the value that is out of the range of representable values, it throws an out_of_range exception.
Following is the syntax for std::string::stod() function.
double stod (const string& str, size_t* idx = 0); double stod (const wstring& str, size_t* idx = 0);Parameters
This function has two parameters as described below.
This function returns the double type representing the converted value of the string.
Example 1Following is the basic example to convert a string into double of std::stod() function using C++.
#include <iostream> #include <string> using namespace std; int main() { string number = "123.456"; double value = stod(number); cout << "The double value = " << value << endl; return 0; }Output
If we run the above code it will generate the following output.
The double value = 123.456Example 2
Following is an another example of std::stod() function used to extract a double value from a string that contains both text and numbers.
#include <iostream> #include <string> using namespace std; int main() { string mixedString = "Total: 250.75 USD"; size_t pos; double amount = stod(mixedString.substr(7), & pos); cout << "Amount = " << amount << endl; return 0; }Output
If we run the above code it will generate the following output.
Amount = 250.75Example 3
In this example, we have given a invalid input, so it will throw an invalid_argument exception because the string cannot be converted to double.
#include <iostream> #include <string> using namespace std; int main() { string invalidNumber = "abc"; try { double value = std::stod(invalidNumber); cout << "Value is: " << value << std::endl; } catch (const invalid_argument & e) { cout << "Invalid argument: " << e.what() << endl; } return 0; }Output
Following is the output of the above code.
Invalid argument: stod
string.htm
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