【问题标题】:Take a digit of a string as an integer in C++ [duplicate]在C ++中将字符串的数字作为整数[重复]
【发布时间】:2020-04-07 17:30:48
【问题描述】:

我想将字符串111的第一个数字添加到整数x = 0,使其等于

x = 0 + 1 = 1

以下代码采用字符1,而不是整数1

int x = 0;
string str = "111";
x += str[1];

std::stoi 也不起作用:

x += std::stoi(str[1]);

【问题讨论】:

  • stoi 不起作用,因为根据 cpp 引用,stoistring 作为参数,而不是charstr[1] 是单个字符,而不是 string

标签: c++ string integer


【解决方案1】:

将数字转换为整数的简单方法是从中减去'0'

x += str[0] - '0';

这是因为保证十进制数字的编码是连续的。所以减去最低位就可以得到数字值。

您的另一个错误是字符串的第一个字符是str[0] 而不是str[1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-14
    • 2015-07-18
    • 2013-10-06
    • 2011-08-22
    • 2012-08-16
    • 2010-10-05
    • 2013-10-29
    相关资源
    最近更新 更多