C++中doulbe/float/int转为CString方法

<div id="article_content" class="article_content csdn-tracking-statistics" data-mod="popu_519" data-dsm="post">
                        
<div id="article_content" class="article_content" style="margin:20px 0px 0px; line-height:26px">
<p style="font-size:14px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<span style="font-size:24px"><span style="font-family:SimSun">1.double转化为CString</span></span></p>
<div style="font-family:Arial"><span style="font-size:14px"></span>
<h1 style="line-height:26px; font-size:14px; margin:0px; padding:0px; color:rgb(35,35,35); font-family:宋体"><a name="t0"></a>
C++中doulbe/float/int转为CString方法</h1>
</div>
<p style="font-family:Arial; font-size:14px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
</p>
<p style="font-family:宋体; font-size:14px; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
在MFC程序中,可以使用Format方法方便的实现int、float和double等数字类型转换为CString字符串。以下是CString的Format支持的格式说明:</p>
<div class="high_light_code" style="font-family:宋体; font-size:13px; color:rgb(35,35,35); margin-top:0px; padding:4px 5px 4px 4px; line-height:1.8; border:1px solid rgb(204,204,204); width:652.667px; min-height:15px; word-break:break-all; background-color:rgb(238,238,238)">
<div style="font-size:12px; margin-top:0px; padding-top:0px; line-height:1.4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 单个字符<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十进制整数(int)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %ld&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十进制整数(long)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十进制浮点数(float)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %lf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十进制浮点数(double)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 八进制数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符串<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无符号十进制数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十六进制数</div>
</div>
<h2 style="font-family:宋体; font-size:14px; margin:5px auto; padding:0px; color:rgb(35,35,35); line-height:25px"><a name="t1"></a>
<a target="_blank" name="t1" style="color:rgb(202,0,0)"></a><a target="_blank" name="t1" style="color:rgb(202,0,0)"></a>1、int转换为CString</h2>
<p style="font-family:宋体; font-size:14px; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
</p>
<div class="high_light_code" style="font-family:宋体; font-size:13px; color:rgb(35,35,35); margin-top:0px; padding:4px 5px 4px 4px; line-height:1.8; border:1px solid rgb(204,204,204); width:652.667px; min-height:15px; word-break:break-all; background-color:rgb(238,238,238)">
<div style="font-size:12px; margin-top:0px; padding-top:0px; line-height:1.4">
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
CString str;<br>
int number=15;</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str="15"<br>
str.Format(_T("%d"),number);</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str="&nbsp; 15"(前面有两个空格;4表示将占用4位,如果数字超过4位将输出所有数字,不会截断)<br>
str.Format(_T("%4d"),number);</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str="0015"(.4表示将占用4位,如果数字超过4位将输出所有数字,不会截断)<br>
str.Format(_T("%.4d"),number);</p>
</div>
</div>
<p style="font-family:宋体; font-size:14px; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
long转换为CString的方法与上面相似,只需要把%d改为%ld就可以了。</p>
<h2 style="font-family:宋体; font-size:14px; margin:5px auto; padding:0px; color:rgb(35,35,35); line-height:25px"><a name="t2"></a>
<a target="_blank" name="t2" style="color:rgb(202,0,0)"></a><a target="_blank" name="t2" style="color:rgb(202,0,0)"></a>2、double转换为CString</h2>
<div class="high_light_code" style="font-family:宋体; font-size:13px; color:rgb(35,35,35); margin-top:0px; padding:4px 5px 4px 4px; line-height:1.8; border:1px solid rgb(204,204,204); width:652.667px; min-height:15px; word-break:break-all; background-color:rgb(238,238,238)">
<div style="font-size:12px; margin-top:0px; padding-top:0px; line-height:1.4">
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
CString str;<br>
double num=1.46;</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str="1.46"<br>
str.Format(_T("%lf"),num);</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str="1.5"(.1表示小数点后留1位,小数点后超过1位则四舍五入)<br>
str.Format(_T("%.1lf"),num);</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str="1.4600"<br>
str.Format(_T("%.4f"),num);</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.4">
//str=" 1.4600"(前面有1个空格)<br>
str.Format(_T("%7.4f"),num);</p>
</div>
</div>
<p style="font-family:宋体; font-size:14px; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
float转换为CString的方法也同上面相似,将lf%改为f%就可以了。</p>
<h2 style="font-family:宋体; font-size:14px; margin:5px auto; padding:0px; color:rgb(35,35,35); line-height:25px"><a name="t3"></a>
<a target="_blank" name="t3" style="color:rgb(202,0,0)"></a><a target="_blank" name="t3" style="color:rgb(202,0,0)"></a>3、将十进制数转换为八进制</h2>
<div class="high_light_code" style="font-family:宋体; font-size:13px; color:rgb(35,35,35); margin-top:0px; padding:4px 5px 4px 4px; line-height:1.8; border:1px solid rgb(204,204,204); width:652.667px; min-height:15px; word-break:break-all; background-color:rgb(238,238,238)">
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; font-size:12px; line-height:1.4">
CString str;<br>
int num=255;</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; font-size:12px; line-height:1.4">
//str="377"<br>
str.Format(_T("%o"),num);</p>
<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; font-size:12px; line-height:1.4">
//str="00000377"<br>
str.Format(_T("%.8o"),num);</p>
</div>
<p style="font-family:宋体; font-size:14px; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
<br>
&nbsp;</p>
<p style="font-family:宋体; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
<span style="font-size:24px">2.CString转化为double型</span></p>
<p style="font-family:宋体; margin:10px auto; padding-top:0px; padding-bottom:0px; color:rgb(35,35,35); line-height:25px">
<span style="font-size:24px"><br>
</span><span style="font-size:18px">double=atof(<span style="color:rgb(35,35,35); font-family:宋体; line-height:25px">CString</span>);</span></p>
<p style="font-family:宋体; margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:25px">
<span style="font-size:24px"></span></p>
<div style="font-family:Arial; font-size:14px; line-height:26px"><span style="color:#ff0000">error C2664: “atof”: 不能将参数 1 从“CString”转换为“const char *”</span><span style="color:rgb(51,51,51)">&nbsp;</span></div>
<div style="font-family:Arial; color:rgb(51,51,51); font-size:14px; line-height:26px">
<wbr></div>
<div style="font-family:Arial; color:rgb(51,51,51); font-size:14px; line-height:26px">
解决:用_ttof代替atof 或 _wtof(str);</div>
<p style="font-family:Arial"></p>
</div>
                    </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值