esp8266上传到云平台数据的函数是字符串型,需要上传的数据是float型,这两者之间如何转化
自己写吧,定好小数位数限制和整数位数限制后很好写的
#define MAX_F 4
#define MAX_INT 6
char retbuf[MAX_F+MAX_INT+3];
char* ftostr(float f)
{
bit s=false;
long tmp32=(long)(f*10000);
if(tmp32<0)
{
s=true;
tmp32=-tmp32;
retbuf[0]='-';
}
else
{
retbuf[0]=' ';
}
retbuf[1]=tmp32/1000000000%10+'0';
retbuf[2]=tmp32/100000000%10+'0';
retbuf[3]=tmp32/10000000%10+'0';
retbuf[4]=tmp32/1000000%10+'0';
retbuf[5]=tmp32/100000%10+'0';
retbuf[6]=tmp32/10000%10+'0';
retbuf[7]='.';
retbuf[8]=tmp32/1000%10+'0';
retbuf[9]=tmp32/100%10+'0';
retbuf[10]=tmp32/10%10+'0';
retbuf[11]=tmp32/1%10+'0';
retbuf[12]='\0';
return retbuf;
}
没有处理无效零, 授人以渔, 你自己研究吧
ltoa函数是把长整形数转换为字符串的函数?