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; // 结果
代码如下:
#include <iostream>关键代码在第12行
如果输入的字符串前几个是数字,后面紧跟着的第一个字符是非数字字符,那么往后所有的字符直接舍弃;如果刚开始就不是数字,那么会抛出异常。(throw invalid_argument)
方法有很多
其中一种是使用C++中的流
声明字符串
声明流
字符串输出到流
流输出到数字
打印数字
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风格的字符串。