A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.tutorialspoint.com/cpp_standard_library/cpp_string_stod.htm below:

C++ String to Double Conversion

C++ String::stod() function

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.

If we take the value that is out of the range of representable values, it throws an out_of_range exception.

Syntax

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.

Return value

This function returns the double type representing the converted value of the string.

Example 1

Following 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.456
Example 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.75
Example 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