C++ 打印从字符串字符派生的整数

C++ Printing an integer derived from a string's character

本文关键字:派生 整数 字符 字符串 打印 C++      更新时间:2023-10-16

我想打印第一个数字。由于某种原因,它的打印为49而不是1 ...

 int n = 111111251;
 string s = to_string(n);
 int num = s[0];
 cout << num << endl;

其打印出49,因为那是1的ASCII值。

如果要打印出角色,只需直接打印出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

在做正确的事情将整数转换为字符串时,您将字符串中的第一个元素的类型从'char'更改为'int'。这会影响输出:字符表示仍然是" 1",但是数值为(ASCII)49(请查看http://en.wikipedia.org/wiki/ascii)。

您可能想要char character = s[0]; cout << character << endl;int num = s[0]; cout << char(num) << endl;

49是1。

的ASCII值

希望我有帮助,