浮点数转字符串dtostrf,自编代码,亲测可用
最近编c语言程序,要从下位机用蓝牙上传数据,发现sprintf()函数转浮点数的时候转出来全是问号’?’。网上搜了下,发现Arduino的dtostrf函数可用,但好像在Arduino自己的库里,笔者用IAR软件往K60芯片上烧程序,用不了Arduino。所以自己写了个dtostrf,亲测可用,先上代码,有需要的自取吧:
// prints a float 'val' to string 'buf'
void dtostrf(double val, int len, int prec, char* buf, int buf_len) {
int int_count = 0;
int index = 0;
//判断正负
if (val < 0) {
buf[index] = '-';
index ++;
val = -val;
}
//先数一下整数部分长度
while ((int) val > 0) {
val