1. 目的
使用sprintf函数,把浮点数以16进制的形式转换为字符串。
2. 具体实现
观察浮点数直接装换为字符串:
#include <stdio.h>
int main()
{
float a = 500.12;
char str_dis[10];
sprintf(str_dis,"%x",a);
printf("str_dis = %s\r\n", str_dis);
return 0;
}
这样直接写入,不是16进制,浮点数直接转换是不能实现目的的。
这里需要把浮点数,乘以10的倍数变成int型数据,才能成功转换。
#include <stdio.h>
int main()
{
float a = 500.12;
int b = a*100;
char str_dis[10];
sprintf(str_dis,"%x",b);
printf("str_dis = %s\r\n", str_dis);
return 0;
}
可以看到转换成功,后面如果需要解析数据,除以倍数就可以了。