c++ - 将字符串转换为 double 函数

标签 c++

我正在尝试从函数内部将字符串转换为 double 值,然后返回一个 bool 值,该值将根据转换是否成功而改变。我的问题是如何检查转换是否失败?

//function definitions
bool isValidDouble(string inputString);

bool isValidDouble(string inputString)
{
    //Declarations
    bool validDouble = true;
    double convertedDouble = 0;

    convertedDouble = atof(inputString.c_str());


//      validDouble = false;
//      convertedDouble = 0;

    return validDouble;
}

// CODE FROM MAIN

int main()
{
    string userInput = "";
    cout << "Please Enter a number to convert. ";
    cin >> userInput;
    isValidDouble(userInput);
    return 0;
}

最佳答案

如果 C++11 可用,您可以使用 std::stod() .如果无法进行转换,它会抛出异常。

关于c++ - 将字符串转换为 double 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29336392/

相关文章:

c++ - 链接不支持异常处理的代码 (C++/LLVM)

c++ - 仅更改一个元素时如何在排序列表中进行快速排序

c++ - 基于某些模板参数从多个基类访问 corect 方法,而不用隐藏它们

c++ - unordered_set 通过地址传递

c++ - 无法将 boost::regex 定义为私有(private)变量

c++ - 比较 map 对象及其引用 C++

c++ - 传递带有默认值的函数作为忽略它们的参数

c++ - 当我尝试在启用推理引擎的情况下编译OpenCv时,出现错误

c++ - 删除 Gtk Entry 上显示的自动弹出窗口

c++ - INVALID_ENUM 使用 glew