将字符型数字转换成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 更直接。

浙公网安备 33010602011771号