c语言如何将浮点型数据转换为数组
我想讲18b20上的数据采集出来,显示在12864上,但是问题是比说我采集到的温度是26.3,那么我怎么样把26.3转换为数组啊?这样才好显示在12864上。。麻烦各位。...
我想讲18b20上的数据采集出来,显示在12864上,但是问题是比说 我采集到的温度是26.3,那么我怎么样把26.3转换为数组啊?这样才好显示在12864上。。
麻烦各位。。。 展开
麻烦各位。。。 展开
展开全部
库函数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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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就不行了,那是需要硬件
float temp=26.3;
char buf[10];
sscanf(temp,"%4.1f",buf);//buf="26.3"
LCD_PutString(buf);
单片机c语言编程里可以调用sscanf函数,但是scanf,printf就不行了,那是需要硬件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询