esp8266上传到云平台数据的函数是字符串型,需要上传的数据是float型,这两者之间如何转化
2条回答 默认 最新
- dceacho 2021-07-05 19:18关注
自己写吧,定好小数位数限制和整数位数限制后很好写的
#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; }
没有处理无效零, 授人以渔, 你自己研究吧
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报