1.整数指定格式
格式“%03d” ,如何把其中的03能够指定0-9之间的任何一个数呢?
方法1:
把“%03d”逐个字符进行展开,%03d --%% 0 %d d
然后整体当作格式使用,
举例:
int aa = 2;
int nDotNum = 3;
CString ss1;
CString ss2;
//ss2.format(L"%03d", aa);
//%03d --%% 0 %d d
ss1.Format(L"%%0%dd", nDotNum);
ss2.Format(ss1, aa);
方法2:用"*"代替整数,整体一句话就解决,
“ %03d --> %*d
举例:文章来源地址https://www.toymoban.com/news/detail-686610.html
int aa = 2;
int nDotNum = 3;
CString ss1;
CString ss2;
//%03d --%*d
ss2.Format(L"%0*d", nDotNum, aa);
2.float
%.3f --%% . %d f
%.3f --%.* f
举例:
float bb = 1.123456;
int nDotNum = 3;
CString ss1;
CString ss2;
//%.3f --%% . %d f
ss1.Format(L"%%.%df", nDotNum);
ss2.Format(ss1, bb);
//%.3f --%.* f
ss2.Format(L"%.*f", nDotNum, bb);
3.double
%.3lf --%% . %d lf
%.3lf --%.* lf文章来源:https://www.toymoban.com/news/detail-686610.html
举例:
double cc = 2.987654;
int nDotNum = 3;
CString ss1;
CString ss2;
//%.3lf --%% . %d lf
ss1.Format(L"%%.%dlf", nDotNum);
ss2.Format(ss1, cc);
//%.3lf --%.* lf
ss2.Format(L"%.*lf", nDotNum, cc);
到了这里,关于[c++] 指定精度格式化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!