C++ 打印从字符串字符派生的整数
C++ Printing an integer derived from a string's character
我想打印第一个数字。由于某种原因,它的打印为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值希望我有帮助,
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 为什么使用 "this" 指针调用派生成员函数?
- 在C++中手动调整数组大小
- 检查输入是否不是整数或数字
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- C++使用整数的压缩数组初始化对象
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 在派生函数中指定void*参数
- 如何通过派生类函数更改基类中的向量
- 如何委托派生类使用其父构造函数?
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何只允许用户输入正整数
- 如何从C++中的格式化字符串派生整数?
- 获取我的基类以递增派生类对象整数
- C++ 打印从字符串字符派生的整数
- 安全派生指针的整数表示形式