当前位置:网站首页>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);
}
}
}
边栏推荐
猜你喜欢
Android学习 | 08.SQLiteOpenHelper
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
HoloLens联合发明人:打造理想的全天AR需要解决这些问题
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
联邦学习摘录
Playing with Markdown(2) - Extraction and Manipulation of Abstract Syntax Trees
损失函数(第五周)
关于梯度下降法的一些优化方法
MySql 怎么查出符合条件的最新的数据行?
Dynamic adjustment subject web system?Look at this one is enough
随机推荐
神经网络之感知机
Qlik Sense 赋值详解(Set、Let)
Kettle Spoon 安装配置详解
详解背包问题(DP分支)
Qemu 搭建Armv8 平台
梯度下降、反向传播
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
IPC 通信 - IPC
Mysql 预准备语句详解(prepare、execute、deallocate)
自监督论文阅读笔记DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive
The ` monorepo ` ` hoist ` mechanism lead to the change of the loading configuration file path
opencv目标检测
The result of request.getParameter is on
磁盘空间管理
【Yarn】yarn常用命令 查看日志和Kill任务
HoloLens联合发明人:打造理想的全天AR需要解决这些问题
解决Gradle Download缓慢的百种方法
时间盲注脚本
C# 数组之回溯法
VSCODE 常见问题