我试着在ex。
中总结包含数字(仅)的字符串std::string a = "103";
std::string b = "13";
我希望总结一下,结果将是116
我想知道substring
或charAt
,但我不知道使用其中任何一种方法是否合适。
我希望能得到很好的解释。
答案 0 :(得分:4)
假设String
是std::string
,那么
std::stoi(a) + std::stoi(b)
是单向的。
但请注意,a
和b
必须只包含可转换为整数类型的字符序列,和每个+
的参数,以及总数必须不溢出int
。
如果不是这种情况,请考虑std::stol
,' std :: stoll'或std::stod
。请注意,std::stoll
适用于64位无符号整数类型。
答案 1 :(得分:2)
这可以使用std::istringstream
来实现。
int iA, iB;
std::istringstream(a) >> iA;
std::istringstream(b) >> iB;
int sum = iA + iB;
如果您正在使用评论中提到的自定义类,则可以覆盖operator>>
并仍然使用上述解决方案。