我写了一个去除小数点后的程序,如下CString temp;
int length;length=temp.GetLength();
while(length>=0)//字符串不为0
{
if(temp.GetAt(length-1)=='0')//取最后一个字符,判断如果是0
{
temp.Replace("0",NULL);//将0删除
length=temp.GetLength();//重新取得字符串的长度
}
else if(temp.GetAt(length-1)=='.')//若遇到小数点就推出
break; }但是,它能删除小数点后的0,还会删除小数点之前末尾的0,比如2*5=1,我在这找不到小数点....这是怎么回事?
int length;length=temp.GetLength();
while(length>=0)//字符串不为0
{
if(temp.GetAt(length-1)=='0')//取最后一个字符,判断如果是0
{
temp.Replace("0",NULL);//将0删除
length=temp.GetLength();//重新取得字符串的长度
}
else if(temp.GetAt(length-1)=='.')//若遇到小数点就推出
break; }但是,它能删除小数点后的0,还会删除小数点之前末尾的0,比如2*5=1,我在这找不到小数点....这是怎么回事?
CString temp;
int length;
int x;
length=temp.GetLength();
while(length>=0)
{
if(temp.GetAt(length-1)!='0')
{
x=length-1;
break;
}
length=length-1;
}
temp.TrimRight('0');
int length; length=temp.GetLength(); while(length> =0)//字符串不为0
{
if(temp.GetAt(length-1)=='0')//取最后一个字符,判断如果是0
{
temp.Replace("0",NULL);//将0删除 这里是删除字符串里所有得0,而不是末尾得0length=temp.GetLength();//重新取得字符串的长度 }
else if(temp.GetAt(length-1)=='.')//若遇到小数点就推出 这里是当小数点是最后一个字符才会有成功,否则啥也不干
break; }
int a;
a=str.GetLength(); //取出str的个数
CString str1;
for(int i=1;i<=a;i++) //把str从右开始取出存入str1每次存入都判断一次str1左边第一个字符是否等于0 {
str1=str.Right(i); str1=str1.Left(1);
if(str1!="0")
{
if(str1==".")
{
str=str.Left(a-i);
}
else
{
str=str.Left(a-i+1);
}
return str;
}
}
return str;
}