c# string转int32,C#string转换int
itoa( int value,char *string,int radix);
第一个参数:你要转化的(同Internationalorganizations)国际组织
第二个参数:转化后的char *;
第三个参数:你要转化的进制;
举例:
//-
//功能:C int转字符串(使用atoi)
//环境:VS2005
//-
#include stdafx.h
#包括输入输出流
使用命名空间标准
int main(int argc,char* argv[])
{
int n=30
char c[10];
itoa(n,c,2);
cout 2- c endl;
itoa(n,c,10);
cout 16- c endl;
itoa(n,c,16);
cout 10- c endl;
系统("暂停");
返回0;
}
输出:
2- 11110
16- 30
10- 1e
请按任意键继续。
二、使用把格式数据写成串
头文件#包含标准视频
语法:int sprintf(字符串格式,混合[参数].);
返回值:字符串长度(strlen)
转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
b整数转成二进位。
c整数转成对应的美国信息交换标准代码字元。
d整数转成十进位。
f倍精确度数字转成浮点数。
o整数转成八进位。
s整数转成字串。
x整数转成小写十六进位。
X整数转成大写十六进位。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
举例:
//-
//功能:C int转字符串(使用sprintf)
//环境:VS2005
//-
#include stdafx.h
#包括输入输出流
#包含字符串
使用命名空间标准
int main()
{
int n=30
char c[20];
sprintf(c, %d ,n);
cout c结束
sprintf(c, %o ,n);
cout c结束
sprintf(c, %X ,n);
cout c结束
sprintf(c, %c ,n);
cout c结束
浮点f=24.678
sprintf(c, %f ,f);
cout c结束
sprintf(c, %.2f ,f);
cout c结束
sprintf(c, %d-%.2f ,n,f);
cout c结束
系统("暂停");
返回0;
}
输出:
30
36
1E
//注:这里是个特殊符号
24.677999
24.68
30-24.68
请按任意键继续。
三、使用字符串流
举例:
//-
//功能:C int转字符串(使用字符串)
//环境:VS2005
//-
#include stdafx.h
#包括输入输出流
#包含字符串
#包含流
使用命名空间标准
int main()
{
字符串流
int a=100
浮点f=23.5566
strStream a - f;
string s=strstream。str();
cout s endl
系统("暂停");
返回0;
}
输出:
100 - 23.5566
请按任意键继续。
1.sprintf可能引起缓冲区溢出,可以考虑使用格式化字符串复制或者非标准的asprintf
2.如果是MS-VisualC++的类库(微软基础班的缩写)程序,可以使用CString:格式
3.如果使用助推,则可以直接使用:string s=boost:lexical_cast字符串
4 .阿托伊也是不可移植的。
五、其它铌方法
//-
//参考引用:
//http://baike . Baidu . com/view/982195 . htm?fr=ala0_1_1
//http://baike . Baidu . com/view/1295144 . htm?fr=ala0_1
//http://PPP男生。博客。163 .com/blog/static/3020379620085511954382/
//-
2.字符串到整数
//第一种方法
const char * str= 123
int I;
if(sscanf(str, %d ,i)==EOF)
{ /*错误*/}
//第二种方法-丙与标准库字符串流:
int str2int(常量字符串str)
{
字符串流ss(str);
整数
if((ss num).fail())
{//错误
}
退货数量;
}
//第三种方法-使用促进库:
#include boost/lexical_cast.hpp
#包含字符串
尝试{
STD:string str= 123 ;
int number=boost:lexical _ cast int(str);
} catch(const boost:bad _ lexical _ cast)
{ //错误
}
=============我的测试=====================
#include stdafx.h
#包括cstdio
#包括输入输出流
#包含strstream
#包含字符串
#包含流
使用命名空间标准
模板类数字类型
布尔转换字符串编号(常量字符串str,NumType num)
{
字符串流strStream(str);
if((strStream num).fail())
{
对不起,转换失败!恩德尔
返回错误的
}
返回真实的
}
模板类数字类型
bool convetnumberto string(常量数量类型数量,字符串字符串)
{
字符串流
strstream编号
strstream//str=strstream。str();也没关系。
返回真实的
}
int _ tman(int argc,_TCHAR* argv[])
{
字符串strnum= 22.56
浮法fnum
if(convertrington no(strnum,fNum))
{
cout fnum= fnum endl
}
双dnum
if(convertrington no(strnum,dNum))
{
cout dnum= dnum endl
}
int inum
if(convertrington no(strnum,iNum))
{
乌姆山脉=乌姆山脉;
}
字符串aa= abc
if(转换号(aa,INM))
{
乌姆山脉=乌姆山脉;
}
潜艇用热中子反应堆(submarine thermal reactor的缩写)字串;
ConvetNumberToString(fNum,str);
cout str from fnum= str endl
ConvetNumberToString(dNum,str);
cout str from dnum= str endl
convetnumberto字符串(INM、str);
弯头来自inum的字符串= str endl
坦克c;
CIN c;
返回0;
}
输出为:
fNum=22.56
dNum=22.56
iNum=22
对不起,转换失败!
潜艇用热中子反应堆(submarine thermal reactor的缩写)来自fNum=22.56
来自dNum的字符串=22.56
潜艇用热中子反应堆(submarine thermal reactor的缩写)来自inum=22
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。