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