在MFC中,如何把字符串类型和整型,符点型等之间做转换呢?

时间:2021-07-28 17:50:49
(寒一个,原来的那个自己发错了地方,抱歉.........所以.........还是这个问题........)
我想自己编个计算器程序,就像WINDOWS自带的那种。但是里面牵涉到一个问题,就是要把字符串和符点型,整型做相互转换。但是我查MSDN也一时没有能够找到这个办法。请各位知道的给个答案,我也会同时努力地翻阅MSDN的~~~谢谢了~~~~
最好能够给个例子~~~~~~我的文字理解能力不太好............-_-

5 个解决方案

#1


atoi
itoa
还有就是格式化将整形、浮点型转化为字符串

#2


短整型(int)
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换 

长整型(long)
ltoa(l,temp,10); 

浮点数(float,double)
用fcvt可以完成转换,这是MSDN中的例子:
int decimal, sign; 
char *buffer; 
double source = 3.1415926535; 
buffer = _fcvt( source, 7, &decimal, &sign ); 
运行结果:source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0
decimal表示小数点的位置,sign表示符号:0为正数,1为负数 

#3


字符串转换为其它数据类型
strcpy(temp,"123"); 

短整型(int)
i = atoi(temp); 

长整型(long)
l = atol(temp); 

浮点(double)
d = atof(temp); 

#4


atof atoi atold 十六进制的得自己写函数转换

#5


该回复被版主删除

#1


atoi
itoa
还有就是格式化将整形、浮点型转化为字符串

#2


短整型(int)
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换 

长整型(long)
ltoa(l,temp,10); 

浮点数(float,double)
用fcvt可以完成转换,这是MSDN中的例子:
int decimal, sign; 
char *buffer; 
double source = 3.1415926535; 
buffer = _fcvt( source, 7, &decimal, &sign ); 
运行结果:source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0
decimal表示小数点的位置,sign表示符号:0为正数,1为负数 

#3


字符串转换为其它数据类型
strcpy(temp,"123"); 

短整型(int)
i = atoi(temp); 

长整型(long)
l = atol(temp); 

浮点(double)
d = atof(temp); 

#4


atof atoi atold 十六进制的得自己写函数转换

#5


该回复被版主删除