浮点数转换成字符串函数

发布者:变形金刚最新更新时间:2020-09-22 来源: eefocus关键字:浮点数转换  字符串函数  STM8 手机看文章 扫描二维码
随时随地手机看文章

sprintf函数太大,在STM8上面根本不敢用,动不动就.text overflow。为了将采集的数值通过串口上传到计算机,只能自己写了一个浮点数转换成字符串的函数:


#include

#include


static char table[]={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};


void num2char(char *str, double number, uint8_t g, uint8_t l)

{

    uint8_t i;

    int temp = number/1;

    double t2 = 0.0;

    for (i = 1; i<=g; i++)

    {

        if (temp==0)

            str[g-i] = table[0];

        else

            str[g-i] = table[temp%10];

        temp = temp/10;

    }

    *(str+g) = '.';

    temp = 0;

    t2 = number;

    for(i=1; i<=l; i++)

    {

        temp = t2*10;

        str[g+i] = table[temp%10];

        t2 = t2*10;

    }

    *(str+g+l+1) = '';

}



int main(int argc, char const *argv[])

{

    char str[20];

    num2char(str, 23.56821312, 8, 10);

    printf("%sn", str);

    return 0;

}


测试结果如下:


00000023.5682131


关键字:浮点数转换  字符串函数  STM8 引用地址:浮点数转换成字符串函数

上一篇:STM8S汇编代码分析
下一篇:规范的位操作方法

推荐阅读最新更新时间:2024-11-09 07:06

STM8 IAR不识别ST-LINK V2问题解决
以前一直玩STM32,淘宝推荐发现STM8S103F3P6最小系统板3.6元一个,就买回来玩玩了。一值用Keil,现在改IAR,安装IAR for STM8,但是发现 the debugging session could not be started,Either the debugger initialization failed,or else the file D…hex was corrupt or of an unsupported format. There might be more information in the Debug Log window 没办法就找百度吧,有的说改成STM8S003,STM
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved