keil5 STM32 浮点数转字符串跑飞

在keil中如果用如下函数可以实现浮点数转换为字符串的功能,但是有时候会跑飞程序。

void num2char(unsigned char *str, float num1 )

{
int high;//float_????  
float low;//float_???? 
float num=num1;
int n=0;
char ch[8];
int i;
high=(int)num;
low=num-high;
if(high==0)
*str++='0';
while(high>0)
{
ch[n++]='0'+high%10;
high=high/10;
}
for(i=n-1;i<=0;i--)
{
*str++=ch[i];
}
num-=(int)num;
float tp=0.1;
*str++='.';
while(num>0.001)
{
num-=tp*(int)(low*10);
tp/=10;
*str++='0'+(int)(low*10);
low=low*10.0-(int)(low*10);
}
*str='\0';
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值