注册 登录
编程论坛 VC++/MFC

关于CString转换成float,运算的问题

whp1124 发布于 2011-04-09 15:35, 1340 次点击
如果有3个CString变量m_e1,m_e2,m_e3;分别关联EDIT1,EDIT2,EDIT3我用atof将他们分别转换成float型变量
void CZzDlg::OnButton1()
{
    // TODO: Add your control notification handler code here
   
    UpdateData(TRUE);
float a = atof(m_e1);
float b = atof(m_e2);
float c = atof(m_e3);
c=a-b;
UpdateData(FALSE);
}
为什么EDIT3只显示0.00000
6 回复
#2
ljt2011-04-09 19:39
你这样说别人很难清楚的,是不是你a和b的值都一样。既然你a和b的都行,你看看c的哪里不一样不就行了
#3
红色警戒2011-04-09 20:10
你没有把c和控件相关联吧。
#4
whp11242011-04-09 21:51
关联了,我的意思是他好像不执行这个运算,你们能不能写个例子
#5
张丹2011-04-12 13:55
是不是转换有问题??
#6
张丹2011-04-12 14:08
float c = atof(m_e3);
我也遇到这样的问题。我是不能直接用float c = atof(m_e3);需要float fValue = atof((const char *)stopValue.GetBuffer(0));这样转编译才可以通过,但是数据会丢失,比如数据应该是1.5。结果最后得到的是1
#7
bczgvip2011-04-13 03:09
float a = _tstof(m_e1);
1