浮点数转换为字符串:这个转换函数用起来又错误,整数部分是两位时就又错误发生,并且不能符号转换不出
/*int _IntToStr(int val, char* buf)
{
static char Digitals[]="0123456789";//为了不依赖于字符编码方式,这里使用一个数字字符表而不是用'0' + val去计算字符。
int temp;
int NewPos;
temp = val / 10;
if (temp > 0)
NewPos = _IntToStr(temp, buf);
else
NewPos = 0;
buf[NewPos ++] = Digitals[val%10];
return NewPos;
}
char* Gcvt( double number,int ndigits,char *buf)
{
int NewPos;
NewPos=_IntToStr((int)number,buf);
if(ndigits>0)
{
double Factor;
int DotPos;
size_t i;
for(i=0,Factor=1;i<ndigits;i++)
Factor*=10;
DotPos=NewPos;
NewPos+=_IntToStr((int)((number-(int)number)*Factor+Factor),buf+NewPos);
buf[DotPos]='.';
}
buf[NewPos]='/0';
return buf;
}*/