如将unsigned char code[]={2,3,3,'.',1,2,3,4,6,5}转为数223.123465这是一个ARDUINO单片机方面的问题用ARDUINO处理GPS数据遇到的问题应该是数233.123465
如果unsigned char code[]={2,3,3,'.',1,2,3,4,6,5}是unsigned char code[]={'2','3','3','.','1','2','3','4','6','5'};,那就很简单,如下——#include "stdio.h"//int main(void){ unsigned char code[]={'2','3','3','.','1','2','3','4','6','5'}; double x; sscanf((char *)code,"%lf",&x);//转换 printf("%f\n",x);//打出来看看 return 0;}如果unsigned char code[]={2,3,3,'.',1,2,3,4,6,5}中的数字不是字符,则——#include "stdio.h"//int main(void){ unsigned char code[]={'2','3','3','.','1','2','3','4','6','5'}; double x; int i;//////////////////////////加上这4行调整一下 for(i=0;i<10;i++) if(code[i]>=0 && code[i]<10) code[i]+='0';////// sscanf((char *)code,"%lf",&x);//转换 printf("%f\n",x);//打出来看看 return 0;}以上思路供参考。 追问 好像不行啊 追答 用第二个代码的话,其中的unsigned char code[]={'2','3','3','.','1','2','3','4','6','5'};就应该是unsigned char code[]={2,3,3,'.',1,2,3,4,6,5};,我当时没有改过来。看我这里的执行结果—— 追问 我是用ARDUINO 单片机来执行的,好像不行