MFC中去掉字符串/数据后面多余0的方法

来源:互联网 发布:matlab mac版多少钱 编辑:程序博客网 时间:2024/05/17 03:48

最近在VC6.0中用MFC实现一个简单计算器的功能,到后面显示的时候,显示的数据后面总有0,比如,12.000000,或者12.023000。显示是用字符串来显示的,后面总会有几个0,为了美观和需要,我们需要把后面的0去掉:

我把子函数贴出来,如下:

void CCounterDlg::QuitZero()//去掉数据后面多余0的子函数,比如,12.200300,显示为12.2003
{
      int i,j,m;
      int count=0;//用于计算字符串中最后一个非0字符后面的0个数
      m_SResult.Format("%f",InResult);//把浮点型的InResult格式化为字符串
      index=m_SResult.Find('0',0);//从第一个元素查找0的位置,返回第一个0的索引值
     for(i=index;i<m_SResult.GetLength();i++)//查找index后面的元素是否都为0
    {
if (i==m_SResult.Find('0',i))//如果从第i个元素开始查找的元素为0,如果是0,则返回的索引值和i相等,否则返回为0
{
 count++; //计算有多少个0
}
else
{
count=0;//表示0后面出现了非0字符,例如12.200300中的3为非0.则之前的count=2需要清为0
}
}
m_SResult=m_SResult.Left((m_SResult.GetLength()-count));//长度减掉后面的0的个数,12.200300的总长为9,                                                                                                                                        //后面有两个0,则取9-2=7位,即取字符串的左边7个字符12.2003,得到舍去后面的0的字符
                        

j=m_SResult.GetLength();//获取字符串长度,判断最后一位是不是小数点

m=m_SResult.Find('.',0);
if(j-m==1)
{
m_SResult=m_SResult.Left(m);//显示去掉小数点后的字符串
}
m_Result.SetWindowText(m_SResult);//显示到编辑框中
}

谢谢大家啦!如果有帮助,请记得赞一个哦!


1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 氨基酸洗面奶不适合那些人 支链氨基酸什么时候吃 eltamd氨基酸洁面乳 氨基酸适合什么人群 小儿复方氨基酸注谢液作用 输氨基酸适合什么人群 氨基酸洗面奶有什么功效 含有氨基酸的洗面奶 氨基酸洗面奶的功效与作用 氨基酸洁面乳的作用与功效 氨基酸洗面奶有哪些 氨基酸洗面奶的好处 氨基酸洗面奶有什么作用 氨基酸的功效与作用对皮肤 注射氨基酸的功效与作用 氨基酸输液功效与作用 口服氨基酸的功效与作用 输氨基酸的功效与作用 吊氨基酸的功效与作用 氨基酸口服液哪个牌子好 氨基酸对皮肤的作用 芳草集氨基酸洗面奶 芙丽芳丝氨基酸洗面奶 氨基酸口服液的功效与作用 复方氨基酸注谢液价格 挂氨基酸有什么好处 全自动氨基酸分析仪 价格 氨基酸注射夜的功效 孕妇可以输氨基酸吗 全自动氨基酸分析仪 氨基酸洗发水的功效与作用 孕妇打氨基酸有什么好处 氨基酸水溶肥料的作用 吃氨基酸有什么好处 什么牌子的氨基酸洗面奶好用 氨基酸是酸性还是碱性 氨基酸洗面奶好用吗 氨基酸洗面奶哪个好用 什么氨基酸洗面奶好用 洗面奶的作用和功效 洗面奶的功效