当前位置:网站首页>double型数据转字符串后通过MCU串口发送
double型数据转字符串后通过MCU串口发送
2022-08-03 05:24:00 【langaopeng】
double型数据转字符串如下函数,函数的功能如:将 double=12.123的数据转为CString = "12.123";后通过串口发出
void PutDataTOChar(double dat)
{
u8 i;
u8 tab[10];//存整数部分
u8 bot[6];//存小数部分
u8 iIndex =0;//整数部分指针
u8 jIndex =0;//小数部分指针
int aa = 0;
double pot = 0.0;
for(i=0;i<10;i++)
{
tab[i] = ' ';
bot[i] = ' ';
}
aa = (int) dat;//取整数
if(aa < 0) //是负数//
{
dat = -dat;
aa = -aa;
pot = dat-aa;
while(aa/10 > 0)//将int 型转为字符型
{
tab[iIndex++] = aa%10; // 取出个位
aa /= 10;
}
tab[iIndex] = aa;
for(i=0;i<5;i++)//将小数部分转为字符型
{
bot[jIndex++] = (int)(pot*10);
pot = pot*10 - (int)(pot*10);
}
putchar('-');
for(i=iIndex;i>0;i--)
{
putchar(tab[i]+0x30);
}
putchar(tab[i]+0x30);
putchar('.');
for(i=0;i<jIndex;i++)
{
putchar(bot[i]+0x30);
}
}
else
{
while(aa/10 > 0)
{
tab[iIndex++] = aa%10; // 取出个位
aa /= 10;
}
tab[iIndex] = aa;
for(i=0;i<5;i++)
{
bot[jIndex++] = (int)(pot*10);
pot = pot*10 - (int)(pot*10);
}
for(i=iIndex;i>0;i--)
{
putchar(tab[i]+0x30);
}
putchar(tab[i]+0x30);
putchar('.');
for(i=0;i<jIndex;i++)
{
putchar(bot[i]+0x30);
}
}
}
边栏推荐
猜你喜欢
随机推荐
自监督论文阅读笔记Efficient Self-supervised Vision Pretraining with Local Masked Reconstruction
EIP-5058 能否防止NFT项目方提桶跑路?
二叉树常见的问题和解决思路
Oracle 分区索引详解(local、global)
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
中国食品产业园区行业前景规划建议及投融资模式分析报告2022~2028年
Oracle 密码策略详解
cmdline -[command line,__fdt_pointer,initial_boot_params] boot_command_line 获取
进程间通信IPC - 信号量
【DC-4 Range Penetration】
自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
new / malloc / delete / free之间的区别
布尔盲注需简化代码
中国认证认可服务行业“十四五”发展规划及经营模式分析报告2022~2028年
A.1#【内存管理】——1.1.3 page: struct page
VSCODE 常见问题
理论上的嵌入式跑马灯
【第二周】卷积神经网络
神经网络之感知机
Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)


![[frp intranet penetration]](/img/5c/ca18bef3e5fec279c19825ee93b34b.png)






