繁体   English   中英

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因为那是1ascii值

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

49是ASCII值1。

希望我能帮上忙

在将整数转换为字符串的正确操作中,可以将字符串中第一个元素的类型从'char'更改为'int'。 这将影响输出:字符表示形式仍为'1',但数值为(ASCII)49(请参见http://en.wikipedia.org/wiki/ASCII )。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM