我想打印第一个数字。出于某种原因,它打印为 49 而不是 1...
int n = 111111251;
string s = to_string(n);
int num = s[0];
cout << num << endl;
最佳答案
它打印出 49
因为那是 ascii value of 1
.
如果要打印出字符,直接打印出s[0]
,或者适当的转换回int
即可。考虑以下代码:
int main()
{
int n = 111111251;
string s = to_string(n);
cout << s[0] << endl;
int num = s[0];
cout << num << endl;
int num2 = s[0] - '0';
cout << num2 << endl;
return 0;
}
打印出来:
1
49
1
关于C++打印从字符串字符派生的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30198606/