CString 存放的是一个有小数位的数字,怎么把它转化成float型,一位一位的提取出来
GetDlgItemText(IDC_EDIT1,m_StrNum);intlength=m_StrNum.GetLength();for(inti=0;i<length...
GetDlgItemText(IDC_EDIT1,m_StrNum);
int length=m_StrNum.GetLength();
for (int i =0; i< length; i++)
{
float ff=atof(m_StrNum.Mid(length-i-1,1));
CString str;
str.Format("%f",ff);
MessageBox(str);
}
这样一位一位的显示,当碰到小数点的时候,atof后是0,怎么办,MSDN里边也是这样说明的??
加很多分的 展开
int length=m_StrNum.GetLength();
for (int i =0; i< length; i++)
{
float ff=atof(m_StrNum.Mid(length-i-1,1));
CString str;
str.Format("%f",ff);
MessageBox(str);
}
这样一位一位的显示,当碰到小数点的时候,atof后是0,怎么办,MSDN里边也是这样说明的??
加很多分的 展开
1个回答
展开全部
有很多方法,一是:
float ff=atof(m_StrNum);
先转化为浮点型数据,然后去取浮点数的每一位;
也可以这样,就以字符串来操作
int length=m_StrNum.GetLength();
for (int i =0; i< m_StrNum.GetLength(); i++)
{
if(m_StrNum.left(1).Compare(".")!=0)
{
float ff=atof(m_StrNum.left(1));
CString str;
str.Format("%f",ff);
MessageBox(str);
}
else
{
MessageBox(".");
}
m_StrNum=m_StrNum.Right(m_StrNum.GetLength()-1);
}
float ff=atof(m_StrNum);
先转化为浮点型数据,然后去取浮点数的每一位;
也可以这样,就以字符串来操作
int length=m_StrNum.GetLength();
for (int i =0; i< m_StrNum.GetLength(); i++)
{
if(m_StrNum.left(1).Compare(".")!=0)
{
float ff=atof(m_StrNum.left(1));
CString str;
str.Format("%f",ff);
MessageBox(str);
}
else
{
MessageBox(".");
}
m_StrNum=m_StrNum.Right(m_StrNum.GetLength()-1);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询