Listing 1: How to use lexical_cast

#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>

int main() {
  std::string s="3.14159265358979";

  try {
    std::cout << "Lexical conversion from string to double\n";
    double d=boost::lexical_cast<double>(s);
    std::cout << “double d: “ << d << '\n\n';
  }
  catch(boost::bad_lexical_cast& e) {
    std::cout << "Conversion failed: "
              << e.what() << '\n';
  }

  try {
    std::cout << "Lexical conversion from literal string to int\n";
    int i=boost::lexical_cast<int>("123 4");
    std::cout << "int i: " << i << '\n';
  }
  catch(boost::bad_lexical_cast& e) {
    std::cout << "Conversion failed: "
              << e.what() << '\n';
  }
}
— End of Listing —