当我尝试将 char 转换为 float 时,我正在使用 atof 并且它没有返回整个值,&如何纠正这个问题 还有其他方法可以做到这一点吗?
如果我给出这个长度(700.898)的值,它会返回正确的值。如果我给出的数字超过 3 个,那么只会遇到问题。如果我问错了什么,对不起。
float flt = 71237.898;
char myfloat[50];
sprintf (myfloat, "%f", flt); //myfloat = 71 237.8984380
float f = atof(myfloat); //f = 71.0000
删除空格:
int myfllen = strlen(myfloat);
for(int b=0;b<strlen(myfloat);b++)
{
if(myfloat[b] == ' ')
{
int c = b;
while(c<=myfllen)
{
myfloat[c] = myfloat[c+1];
c++;
}
}
}