C++之CString与double、int及float互相转化

在MFC程序中,可以使用Format方法方便的实现int、float和double等数字类型转换为CString字符串。以下是CString的Format支持的格式说明:

%c 单个字符
%d 十进制整数(int)
%ld 十进制整数(long)
%f 十进制浮点数(float)
%lf 十进制浮点数(double)
%o 八进制数
%s 字符串
%u 无符号十进制数
%x 十六进制数
1、int转换为CString
CString str;
int number=15;

//str="15"
str.Format(_T("%d"),number);

//str=" 15"(前面有两个空格;4表示将占用4位,如果数字超过4位将输出所有数字,不会截断)
str.Format(_T("%4d"),number);

//str="0015"(.4表示将占用4位,如果数字超过4位将输出所有数字,不会截断)
str.Format(_T("%.4d"),number);

long转换为CString的方法与上面相似,只需要把%d改为%ld就可以了。
2、double转换为CString
CString str;
double num=1.46;

//str="1.46"
str.Format(_T("%lf"),num);

//str="1.5"(.1表示小数点后留1位,小数点后超过1位则四舍五入)
str.Format(_T("%.1lf"),num);

//str="1.4600"
str.Format(_T("%.4f"),num);

//str=" 1.4600"(前面有1个空格)
str.Format(_T("%7.4f"),num);

float转换为CString的方法也同上面相似,将lf%改为f%就可以了。

扫描二维码关注公众号,回复: 5500851 查看本文章

3.CString转化为double型
CString ss="123.21";

double dd=atof(ss);

4.CString转化为int型
CString str = "123";
int i = _ttoi(str);//转为64位int类型的话可以使用_ttoi64()
--------------------- 
作者:小伟锅 
来源:CSDN 
原文:https://blog.csdn.net/u011028345/article/details/77418251 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq_34272143/article/details/83303285
今日推荐