ARDUINO 中将一个unsigned char 的数组的数据转化为一个long 型的数

如将unsignedcharcode[]={2,3,3,'.',1,2,3,4,6,5}转为数223.123465这是一个ARDUINO单片机方面的问题用ARDUINO处... 如将unsigned char code[]={2,3,3,'.',1,2,3,4,6,5}
转为数223.123465
这是一个ARDUINO单片机方面的问题

用ARDUINO处理GPS数据遇到的问题
应该是数233.123465
展开
 我来答
White_MouseYBZ
2014-12-05 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:7096万
展开全部
如果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};,我当时没有改过来。看我这里的执行结果——

查晓筠0i5
2014-12-04 · TA获得超过2753个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:5086万
展开全部
可以帮你写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式