读书人

一个很奇怪的有关问题

发布时间: 2012-01-12 22:11:58 作者: rapoo

一个很奇怪的问题?
float f = atoi(array.GetAt(l))/100000.0f;
TempStr.Format( "%.4f ",f);
int e=0;
e=TempStr.GetLength();if(TempStr.GetAt(e-1)== '0 '){ TempStr.Delete(e-1);
}
if(TempStr.GetAt(e-2)== '0 '){ TempStr.Delete(e-2);
}

clientDc.TextOut(rect.left+m,rect.top+n,TempStr);
这是一个算术题是把000077798000变成777.98
奇怪的是000101257000就会变成1012.5699我换了几个数发现只是57出现这个情况
别的正常
我有新建了一个程序这是正常变成1012.57
还有000101664000变成1016.6499非常奇怪不知道是什么原因
还请高手帮忙!!!
谢谢!

[解决办法]
double f = atoi(array.GetAt(l))/100000.0f;

[解决办法]
与浮点数的表示方式有关

[解决办法]
atof

读书人网 >VC/MFC

热点推荐