我一直试图制作一个程序,检查一个国家身份证号码是否有效我怎么遇到一个问题,我无法在任何地方找到答案。 我使用一个字符串来存储识别码的用户输入,我需要以某种方式将字符串转换为int保持符号而不是获得ascii值。
实施例: (假设用户输入字符串persKods为111199-11111 第5个符号为9,因此年份值应输出为9而不是54,这是其ascii值)
int day,month,year;
year=this->persKods.at(4);
cout << year; // it outputs 54 instead of 9 :/
答案 0 :(得分:1)
你能尝试ascci值为'0'。
#include <iostream>
using namespace std;
int main() {
// your code goes here
string str="111199";
int test = str.at(4) - '0';
cout<<test;
return 0;
}
了解更多信息link