在C ++中将字符串的数字作为整数[重复]

Posted

技术标签:

【中文标题】在C ++中将字符串的数字作为整数[重复]【英文标题】:Take a digit of a string as an integer in C++ [duplicate] 【发布时间】: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 【参考方案1】:

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

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

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

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

【讨论】:

以上是关于在C ++中将字符串的数字作为整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在Python中将列表的名称作为字符串获取[重复]

在jQuery中将整数格式化为字符串数字[重复]

C语言如何将64位整数转字符串

c语言中如何将字符串转化成整数型并输出?

c语言中如何将字符串转化成整数型并输出?

c语言中如何将字符串转化成整数型并输出?