极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10328|回复: 4

snprintf的格式字符怎么弄

[复制链接]
发表于 2012-9-12 13:40:31 | 显示全部楼层 |阅读模式
  char temp1[10];
  snprintf(temp1,10, "%f", 612);
  Serial.println(temp1);

结果显示   "?"   ,一个问号啊
如果我想要显示定宽10列,小数点后保留1位,前面空全部0填充的浮点数,如何设格式
回复

使用道具 举报

 楼主| 发表于 2012-9-12 16:07:38 | 显示全部楼层
搜到官方论坛早提到了有这个故障
目前无修复
有人编写了替代函数
回复 支持 反对

使用道具 举报

发表于 2012-9-12 17:54:57 | 显示全部楼层
这个库不能显示浮点数
回复 支持 反对

使用道具 举报

发表于 2012-10-4 22:13:52 | 显示全部楼层
嗯,snprintf无法使用 %f,可以用这个替代方法:
  1. char temp1[10];

  2. char floatString[20];
  3. dtostrf(612, 10, 1, floatString);

  4. snprintf(temp1, 10, "%s", floatString);
  5. Serial.println(temp1);
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-4 23:15:53 | 显示全部楼层
单片机的GCC对浮点支持很不给力
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-28 13:58 , Processed in 0.041607 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表