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

标签 c++ string printing integer

我想打印第一个数字。出于某种原因,它打印为 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/

相关文章:

java - 将 Paper 设置为 PageFormatter 不会更新 PageFormatter

string - 如何在 Dart 中删除字符串的特定部分?

jquery - 如何在 Razor 中的 jQuery 中使用 C# 字符串?

c++ - const char 和二进制运算符错误

javascript - 打印网站丢失了它的 css

c++ - AES-128 CFB-8 解密的前 16 个字节已损坏

c++ - 数组到数组——在 C++ 中将 'int*' 分配给 'int 错误时的类型不兼容

c++ - 应用一个简单的曲面 segmentation 评估着色器

c++ - 整数对的哈希算法

c++ - 无法打开 Windows GDI 打印机驱动程序