å®ç°æ¹æ³ï¼å ç»æ符ï¼å»ç©ºæ ¼ï¼åç¨atof转æ¢ï¼
åèä¾åå¦ä¸ï¼
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
float hex2asc(unsigned char* datas, int n)
{
float val;
char* str = (char*)malloc((n + 1) * sizeof(char));
memcpy(str, datas, n);
str[n] = '\0';
val = (float)atof(str);
free(str);
return val;
}
int main(int argc, char* argv[])
{
unsigned char datas[] = {0x20, 0x20, 0x20, 0x33, 0x35, 0x30, 0x2e, 0x30, 0x20, 0x20, 0x20};
printf("%f\n", hex2asc(datas, 11));
return 0;
}
温馨提示:答案为网友推荐,仅供参考