gpt4 book ai didi

在 C++ 中将字符串的某些部分转换为 int/double

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:27 24 4
gpt4 key购买 nike

我正在尝试将字符串的某些数字转换为 int/double。但我收到错误。我必须从字符串中找到数字并将它们相加。

输入示例

92dt6s2zer8t5f6b5ds1

预期结果

125 (=92+6+2+8+5+6+5+1)

我试过这种方式:

#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
using namespace std;

string s="96h11k4959q615948s50922o38h1453ij38w73413d5577lzrqw3780b389750vf100zd29z73j5wh73l6965n85vm77cw10awrjr29265289222238n10013uk10062f9449acbhfgcm35j78q80";
double sum;
int d;
int main()
{
for(int i=140;i<s.size();i++)
{
if(isdigit(s[i]))
{
cout<<s[i]<<endl;
//d= atoi(s[i].c_str());
//another try.
/*istringstream buffer(s[i]);
buffer >> d;
cout<<"int "<<d<<endl;*/
}
}
return 0;
}

最佳答案

尝试类似的东西:

for(int i=0;i<s.size();i++)
{
// Read the number
if(isdigit(s[i]))
{
cout<<s[i]<<endl;
d = d * 10 + s[i]-'0' ;
}
else //add it when a separator is found
{
sum += d;
d = 0;
}
}

感谢 P0W 编辑

关于在 C++ 中将字符串的某些部分转换为 int/double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com