MFC内CString与数值转换

在MFC程序开发过程中经常会遇见需要string与数值的互转操作,因此在此备忘一下常用的转换方法:

1.数值转CString:使用Format函数。

double:(float 替换%lf为%f)

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("%.4lf"),num);
//str=" 1.4600"(前面有1个空格)
str.Format(_T("%7.4lf"),num);

int:(long int 替换%d为%ld)

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);

2.数值转换为CString:

可以使用atof()、_wtof()与_ttof()等函数或宏,但由于_ttof()宏可以自动适应输入字符串类型,所以建议使用_ttof函数进行转换。

转换代码如下:

double num=_ttof(CString);

参考:https://blog.csdn.net/sikong00/article/details/53726702

点赞

发表回复

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像(暂时停用!)

Title - Artist
0:00