c++中如何将string中数字转换成整型的

如题,举例说明才给分(还有腾讯 我的问题到底是哪里审核不过 老和我过不去)

1、方法一:c++11中string中添加了下面这些方法帮助完成字符串和数字的相互转换。

#include <iostream>#include <string>using namespace std;int main() {
cout << stof("123.0") <<endl;
size_t pos;
cout << stof("123.01sjfkldsafj",&pos) <<endl;
cout << pos << endl;
cout << to_string(123.0) << endl;    return 0;
}

2、方法二:C++中使用字符串流stringstream来做类型转化。

#include <iostream>#include <string>#include <sstream>using namespace std;int main() {
ostringstream os;    float fval = 123.0;
os << fval;
cout << os.str() << endl;

istringstream is("123.01");    is >> fval;
cout << fval << endl;    return 0;
}

3、可以用sprintf函数将数字转换成字符串。

 int H, M, S;

     string time_str;

     H=seconds/3600;

     M=(seconds%3600)/60;

     S=(seconds%3600)%60;

     char ctime[10];

     sprintf(ctime, "%d:%d:%d", H, M, S); // 将整数转换成字符串

     time_str=ctime; // 结果

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-25

代码如下:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string STRING;
    int INT;
    cin >> STRING;
    if(cin)
    {
        INT = stoi(STRING);
        cout << INT << endl;
    }
    else
        cout << "An unknown error occurred." << endl;
    return 0;
}

关键代码在第12行

如果输入的字符串前几个是数字,后面紧跟着的第一个字符是非数字字符,那么往后所有的字符直接舍弃;如果刚开始就不是数字,那么会抛出异常。(throw invalid_argument)

第2个回答  2017-06-26

方法有很多

其中一种是使用C++中的流

    声明字符串

    声明流

    字符串输出到流

    流输出到数字

    打印数字

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
   string str="6666";//声明变量
   stringstream ss;//声明流
   ss<<str;    //字符串输出流
   int nums;
   ss>>nums;    //输入到数字
   cout<<nums<<endl; //打印
}

第3个回答  2017-08-01
1.使用C语言的atoi,strtol函数(stdlib.h头文件)int x=atoi(string("12365").c_str());2.使用stringstream(需包含sstream头文件) int x;string str="123";stringstream stream;stream<<str;stream>>x;cout<<x<<endl;
第4个回答  2013-08-08
利用atoi函数即可,如下:string s = "123";int x = atoi(s.c_str());

c++中如何将一串数字string类转换成整型,
一、函数名:atoi 二、函数声明:int atoi(const char *nptr);三、头文件:C语言中用stdio.h。C++中用cstdio。四、功能:将字符串nptr中的字符转成数字并返回。具体过程为:参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \\0) 字符时...

C++中如何实现把一个字符串里数字的转换成整型
可以先使用正则表达式识别出数字,然后再使用库函数进行类型转换,将识别出的字符串转换为数字类型,库函数如下(一小部分,在 stdlib.h 中定义):_Check_return_ _ACRTIMP double __cdecl atof (_In_z_ char const* _String);_Check_return_ _CRT_JIT_INTRINSIC _ACRTIMP int __cd...

C++中怎样把一个字符串数组中的数 转换成整形 数据 如:string s=“12...
可以直接用atoi这个函数 include "iostream"using namespace std;int main(){ string s="1234";int n;n=atoi(s.c_str()); \/\/string对象转成char *,再调用atoi函数 cout<<n<<endl;}

c++中字符串数组转化成int型数组
转换时,可以使用sscanf函数来实现。代码如下:void convert_string_to_int(string *s, int *a, int len){ int i; for(i = 0; i < len; i ++) sscanf(s[i].c_str(), "%d", a+i);\/\/将string中的第i个元素,按照%d(整型)的格式转换成整型数据,并存到a的第i个元素中。

c怎么将string转换成int
atoi()函数将数字格式的字符串转换为整数类型。例如,将字符串1253124127转换成数字1253124127。注意 首要注意 atoi函数可以转化如下这种字符串 1fdafhdjfhkas 关于参数的注意事项 ,atoi()函数的参数是要转换的字符串。该字符串的格式为 [空格][符号][数字]其中,空格可以是键盘中的空格字符或者是Tab字符...

C++有没有string转化int的函数,怎样转换?
字符串转换为浮点数 strtod 字符串转换为长整数 strtol 字符串转换为无符号长整型 strtoul 例程:include <stdlib.h> include <stdio.h> int main(void){ int n;char *str = "12345.67";n = atoi(str);printf("string = %s integer = %d\\n", str, n);return 0;} ...

VC++中如何将字符串换成整型
:1.直接调用库函数:int m; char c[50];cin>>c;m=atoi(c);cout<<m<<endl; \/\/即可 2.模拟实现 int i,l,sum=0;l=strlen(c);for(i=0;i<l;i++)sum=sum*10+c[i]-48; \/\/c[i]-48即将每一位字符型的数字转换为整型数字 cout<<sum<<endl; \/\/即可 ...

C++如何将字符串str a=“01010”(这里的01010是二进制)转换为 int...
using namespace std;int main(){ char buff[64]; \/\/ 输入缓存 int n=0; \/\/ 二进制位数 int w=1; \/\/ 当前位权重 int number=0; \/\/ 十进制值 \/\/ 输入 cout<<"请输入二进制值(最大32位)"<<endl;cin>>buff;\/\/ 获取长度,去除非法数 char* p=buff;while(*p>='...

C++中输入字符串转换赋值到对应的整型数组的方法?
1原型。char*itoa(intvalue,char*string,intradix);2头文件。stdlib.h3功能。将value的值,转换为字符串,并存到string中,如果转化后的字符串长度超过radix,那么只存radix位。4样例。inti=1234;charbuf[10];itoa(i,buf,10);执行后buf内容为字符串"1234"。二、通过sprintf格式化输出到字符串中。ito...

C++ 中怎么把string类型转换为float型或int型? C++处理字符串的方法似...
c++中string是一个定义的类,要将其转换为float 或者 int 应先转为 char* 。如 string --> int string str;int i=atoi(str.c_str());string -->float string str;float f=atof(str.c_str());其中 c_str() 表示 返回一个c风格的字符串。

相似回答