MFC中CString的Format方法使用技巧
2012-12-27 16:16
330 查看
<转自> http://jingyan.baidu.com/article/335530da75054e19cb41c319.html
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。
%c 单个字符
%d 十进制整数(int)
%ld 十进制整数(long)
%f 十进制浮点数(float)
%lf 十进制浮点数(double)
%o 八进制数
%s 字符串
%u 无符号十进制数
%x 十六进制数
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就可以了。
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%就可以了。
将十进制数转换为八进制:
CString str;
int num=255;
//str="377"
str.Format(_T("%o"),num);
//str="00000377"
str.Format(_T("%.8o"),num);
颜色值 16进制显示
COLORREF m_BKColor;
m_BKColor = colorDlg.GetColor();
CString str;
str.Format(_T("0x%06x"),m_BKColor);
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。
步骤/方法
先看看Format用于转换的格式字符:%c 单个字符
%d 十进制整数(int)
%ld 十进制整数(long)
%f 十进制浮点数(float)
%lf 十进制浮点数(double)
%o 八进制数
%s 字符串
%u 无符号十进制数
%x 十六进制数
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就可以了。
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%就可以了。
将十进制数转换为八进制:
CString str;
int num=255;
//str="377"
str.Format(_T("%o"),num);
//str="00000377"
str.Format(_T("%.8o"),num);
颜色值 16进制显示
COLORREF m_BKColor;
m_BKColor = colorDlg.GetColor();
CString str;
str.Format(_T("0x%06x"),m_BKColor);
相关文章推荐
- MFC中CString的Format方法使用技巧
- MFC中CString的Format方法使用技巧
- MFC中CString的Format方法使用技巧
- (转)CString的Format方法使用技巧总结(int|float|double转换为CString)
- MFC中CString的Format方法使用
- CString的Format方法使用技巧总结
- VS2012 MFC中CString的Format方法使用
- MFC中CString的Format方法使用
- CString的Format方法使用技巧
- CString Format使用方法(转)
- MFC 常用类 Cstring 方法使用:
- STL中string没有类似 MFC 中 CString 类的Format方法,怎么办?
- MFC CListCtrl 列表视图类使用方法 以及几种技巧
- Linux 程序开发打印 Debug 信息的使用技巧--C语言中几种输出调试信息的方法
- MFC中CFileDialog使用方法
- JS中的正则表达式小小的技巧---TEST方法的使用
- linux下的gedit命令使用方法与技巧
- 一起学微软Power BI系列-使用技巧(2)连接Excel数据源错误解决方法
- codeigniter使用技巧批量插入数据实例方法分享
- MFC使用HttpGet和HttpPost方法与服务器通信