c语言如何将浮点型数据转换为数组

我想讲18b20上的数据采集出来,显示在12864上,但是问题是比说我采集到的温度是26.3,那么我怎么样把26.3转换为数组啊?这样才好显示在12864上。。麻烦各位。... 我想讲18b20上的数据采集出来,显示在12864上,但是问题是比说 我采集到的温度是26.3,那么我怎么样把26.3转换为数组啊?这样才好显示在12864上。。
麻烦各位。。。
展开
 我来答
Cindere鞡
2013-09-12 · TA获得超过7250个赞
知道大有可为答主
回答量:1148
采纳率:84%
帮助的人:496万
展开全部
你好:
转换后的数据经过处理之后,高位数据/10和%10可以直接显示在LCD12864上,但是低位数据(也就是小数部分)需要取数组值来处理。
因为现在在外边,手机又无法上程序,你可以到我的百度空间里找找DS18B20的液晶显示程序,还带温度报警,有不懂的地方可以提出一起交流。
希望我的回答能帮助到你。
White_MouseYBZ
2015-10-14 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6375万
展开全部

库函数gcvt可以完成此任务,它返回转换后的字符串的地址。如:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"
#include "stdlib.h"
int main(void){
    double x=34.743829109;
    char a[19];
    printf("%s\n",gcvt(x,5,a));//5确定有效数字长度且据其后数字四舍五入
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吐香滴滴化冰G
2013-09-12 · TA获得超过138个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:133万
展开全部
#include "stdio.h"
float temp=26.3;
char buf[10];
sscanf(temp,"%4.1f",buf);//buf="26.3"
LCD_PutString(buf);
单片机c语言编程里可以调用sscanf函数,但是scanf,printf就不行了,那是需要硬件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hj304huan
2013-09-12 · TA获得超过196个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:103万
展开全部
26.3转字符数组还是浮点数组呀?
追问
26.3就转换为 2   6   .   3  四个字符组成的数组 就 可以了
追答
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  
value=ReadTemperature();
if(value&0x8000)
{
str[0]=0x40;//负号标志
value=~value; // 取反加1
value+=1;
}
else
{
str[0]=0;
valueH=value>>4;
valueL=value&0x0F;
valueL=valueL*6/10;//小数近似处理
}

str[5]=0x39; //显示C符号
str[1]=tab[TempH/100]; //十位温度
str[2]=tab[(TempH%100)/10]; //十位温度
str[3]=tab[(TempH%100)%10]|0x80; //个位温度,带小数点
str[4]=tab[TempL];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式