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++;
}
}
}