MFC中用什么类的方法,可以把CString对象转换成 数字型的?

例如:CStringm_str=_T(“123456”),如何把m_str的值赋给int或float型的... 例如:CString m_str = _T(“123456”),如何把m_str 的值赋给 int 或float型的 展开
 我来答
397044815
2011-10-04 · 超过13用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:36万
展开全部
嗯,unicode用_wtoi,多字节用atoi,这两个函数是可以吧CString类型转换为int型,例如
CString m_str = _T(“123456”); int n_str=_wtoi(m_str);
楼主想实现计算器?
画3个输入框,前2个分别用来输第1个数和第2个数,第3个框用来显示结果
然后画4个按钮,分别对应加减乘除
分别对这4个按钮进行消息
其中大致是这样的:
CString a,b;
GetDlgItemText(第一个框的id,a);
GetDlgItemText(第二个框的id,a);
CString final;
final,format(_T("%d"),_wtoi(a)+/*运算符号加减乘除任一*/_wtoi(b));
SetDlgItemText(第三个框的id,final);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敛正雅7f
2011-10-03 · TA获得超过2031个赞
知道大有可为答主
回答量:1553
采纳率:0%
帮助的人:1758万
展开全部
用CString带的Format就行了
如CString toInt
toInt.Format("%d","1434435");
追问
拜托,请看清楚问题,我是要把字符转成  数字,不是把字符串  ,转给CString对象
追答
int atoi(m_str.GetBuffer(0));这个行不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bai_lj
2011-10-03 · TA获得超过276个赞
知道小有建树答主
回答量:505
采纳率:77%
帮助的人:282万
展开全部
atoi()等一系列函数。这是标准C库中的函数。
追问
这个貌似只能转换 字符串类型的
追答
CString不就是一个字符串吗?是MFC封装好的。atoi系列函数是以字符串为参数的,当然也是可以以CString为参数的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96aa8d3
2011-10-03 · TA获得超过433个赞
知道小有建树答主
回答量:2306
采纳率:75%
帮助的人:950万
展开全部
atoi()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
战略级水坝
2011-10-03
知道答主
回答量:11
采纳率:0%
帮助的人:28.7万
展开全部
用这个函数:_wtoi
在MSDN搜索 _wtoi 以获得更多信息
更多追问追答
追问
_wtoi他能转换的是字符串,不能把CString对象转换成基本类型
追答
设 CString m_str = _T("123456.78");
// 把m_str 的值赋给 int
int nInteger = _wtoi( m_str.GetBuffer() );
// nInteger变量得到的值为123456,因为是整形,所以小数点后的7和8把截去了

//把m_str的值赋给 float
float fResult = _wtof( m_str.GetBuffer() );
//fResult变量得到的值为123456.78

通过使用TRACE宏可以方便查看 nInteger和 fResult 的值

其中,_wtoi 函数用于将一个字符串转换成一个整数, _wtof 函数用于将一个字符串转换成一个双精度浮点数

你一开始描述的问题是如何将一个CString对象的值赋给一个int或float型变量,对于这个问题,那么上面就是答案了。
如果你想将一个CString对象本身转换成一个基本类型的变量,先不说有没有可能,而是这样做没多大必要。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式