c++ stod能处理非数吗

c++
591
2024/11/25 15:22:59
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

std::stod 是 C++ 标准库中的一个函数,用于将字符串转换为 double 类型的浮点数。如果传递给 std::stod 的字符串不能转换为有效的浮点数,该函数会抛出一个 std::invalid_argument 异常。

例如:

#include <iostream>
#include <string>
#include <stdexcept>

int main() {
    try {
        std::string str = "abc";
        double d = std::stod(str);
        std::cout << "Converted string to double: "<< d << std::endl;
    } catch (const std::invalid_argument& e) {
        std::cerr << "Invalid argument: " << e.what() << std::endl;
    } catch (const std::out_of_range& e) {
        std::cerr << "Out of range: " << e.what() << std::endl;
    }
    return 0;
}

在这个例子中,字符串 “abc” 不能转换为有效的浮点数,因此 std::stod 抛出一个 std::invalid_argument 异常。程序会捕获这个异常并输出错误信息。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++中onnx模型怎么调用