打印

十进制转字符串 函数咋写?

[复制链接]
1490|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xlsbz|  楼主 | 2014-10-17 14:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yklstudent| | 2014-10-17 15:23 | 只看该作者
你是字符串转十进制还是十进制转函数哦

使用特权

评论回复
评分
参与人数 1威望 +5 收起 理由
xlsbz + 5 啥?
板凳
ayb_ice| | 2014-10-17 17:02 | 只看该作者
转成ASCII码,最后加个0。。。

使用特权

评论回复
评分
参与人数 1威望 +5 收起 理由
xlsbz + 5
地板
ningling_21| | 2014-10-17 18:39 | 只看该作者
最好用一个数组,返回数组指针和长度

a[0]= x/1000+0x30;
a[1]=x%1000/100+0x30;
....

使用特权

评论回复
评分
参与人数 1威望 +5 收起 理由
xlsbz + 5
5
lxyppc| | 2014-10-17 19:41 | 只看该作者
c标准库,itoa

使用特权

评论回复
评分
参与人数 1威望 +5 收起 理由
xlsbz + 5
6
xlsbz|  楼主 | 2014-10-17 21:42 | 只看该作者
嗯  打算用vsprintf了。自己写太费劲了。
以前写代码从不用库因为misra这么讲的。 现在妥协了,

使用特权

评论回复
7
yklstudent| | 2014-10-17 22:10 | 只看该作者
// 整型数据转换成字符串格式
static void u16tostr(uint16_t u16_dat, uint8_t *str, uint8_t *u8_len)
{
    uint8_t i;
    uint8_t buf[5];
    uint8_t start = 0;
    buf[0] = u16_dat / 10000;
    buf[1] = u16_dat % 10000 / 1000;
    buf[2] = u16_dat % 1000 / 100;
    buf[3] = u16_dat % 100 / 10;
    buf[4] = u16_dat % 10;
    for(i=0; i<5; i++)
    {
        if(buf != 0)
            break;         
    }
    start = i;
    for(i=start; i<5; i++)
    {
        *str++ = buf + 0x30;
    }
    *u8_len = 5-start;
}

楼主想要这样的??????

使用特权

评论回复
8
bhsdlmj| | 2014-10-17 23:11 | 只看该作者
yklstudent 发表于 2014-10-17 22:10
// 整型数据转换成字符串格式
static void u16tostr(uint16_t u16_dat, uint8_t *str, uint8_t *u8_len)
{

嗯 类似吧  不过你这个不够通用啊

要弄成两个 *,你的才一个星星

使用特权

评论回复
9
yklstudent| | 2014-10-17 23:34 | 只看该作者
bhsdlmj 发表于 2014-10-17 23:11
嗯 类似吧  不过你这个不够通用啊

要弄成两个 *,你的才一个星星

十进制数据用指针表示??????
你倒是给我表示下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

粉丝