将字符型数字转换成int型

直接使用ASCII码

字符数字的 ASCII 码和实际数字之间有一个固定偏移量,'0' 的 ASCII 值为 48。所以可以通过减去 '0' 来完成转换:

char ch = '5';
int num = ch - '0';
cout << num << endl; // 输出: 5

在转换之前,可以使用 std::isdigit 检查字符是否为数字,避免意外输入导致错误。

char ch = '7';
if (isdigit(ch)) {
    int num = ch - '0';
    cout << num << endl; // 输出: 7
} else {
    cout << "Not a digit!" << endl;
}

结合 stoi(字符串转换)

如果字符数字存储在一个字符串中,可以使用 stoi 来转换:

string str = "3";
int num = stoi(str);

但如果只转换单个字符数字,方法 1 更直接。

posted @ 2025-01-07 11:35  W-Vicky11  阅读(129)  评论(0)    收藏  举报