📌  相关文章
📜  将字符串转换为数字 c++ (1)

📅  最后修改于: 2023-12-03 15:39:16.646000             🧑  作者: Mango

将字符串转换为数字

在C++中,我们经常需要将字符串转换为数字类型。可以使用stod、stof等函数将字符串转换为浮点型数据,stoi、stol等函数将字符串转换为整型数据。 下面是一个示例代码,它将一个字符串转换为整型数据:

#include <iostream>
#include <string>

int main() {
    std::string str = "12345";
    int num = std::stoi(str);
    std::cout << num << std::endl;
    return 0;
}

这段代码使用了std::stoi函数将字符串“12345”转换为整数存入变量num中,并输出num的值。如果我们要将字符串转换为浮点数,则可以使用std::stof函数。

另外,不仅可以将十进制的字符串转换为数字,还可以将十六进制、八进制的字符串转换为数字,只需要在函数中指定进制即可。例如,将十六进制字符串“1E”转换为整数:

#include <iostream>
#include <string>

int main() {
    std::string hexStr = "1E";
    int num = std::stoi(hexStr, nullptr, 16);
    std::cout << num << std::endl;
    return 0;
}

这段代码中,std::stoi函数的第三个参数指定为16,表示该字符串是16进制的数字字符串。如果要将八进制的字符串转换为整数,则需将第三个参数指定为8。 值得注意的是,如果要将一个非法的字符串转换为数字类型,则会抛出std::invalid_argument异常,程序需要进行异常处理。 在使用字符串转换函数时,程序员需要对字符串内容进行判断,以保证转换过程的正确性。