你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 13339|回复: 12

stm8中怎么使用sprintf将浮点型转变成字符串

[复制链接]

1

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-4-11 15:51:25 | 显示全部楼层 |阅读模式
求大神指教》
<
回复

使用道具 举报

0

主题

32

回帖

0

蝴蝶豆

中级会员

最后登录
2019-8-26
发表于 2014-4-17 15:14:20 | 显示全部楼层

回复:stm8中怎么使用sprintf将浮点型转变成字符串

 如果你是用 ST Visual Develop, 在 Project Setting 的 Linker中,选中 Float 项就可以了。
回复 支持 1 反对 0

使用道具 举报

1

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-4-11 15:55:40 | 显示全部楼层

回复:stm8中怎么使用sprintf将浮点型转变成字符串

 
stm8说08r8
sprintf(table,&quot;%f&quot;,bb);
转换不出来
回复 支持 反对

使用道具 举报

5

主题

212

回帖

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2014-4-14 09:28:50 | 显示全部楼层

RE:stm8中怎么使用sprintf将浮点型转变成字符串

sprintf 最常见的应用之一就是把整数打印到字符串中:
如:
//把整数123 打印成一个字符串保存在s 中:sprintf(s, &quot;%d&quot;, 123); //产生&quot;123&quot;
可以指定宽度,不足的左边补空格:
sprintf(s, &quot;%4d%4d&quot;, 123, 4567); //产生:&quot; 1234567&quot;
当然也可以左对齐:
sprintf(s, &quot;%-4d%4d&quot;, 123, 4567); //产生:&quot;123 4567&quot;
也可以按照16 进制打印:
sprintf(s, &quot;%8x&quot;, 4567); //小写16 进制,宽度占8 个位置,右对齐
sprintf(s, &quot;%-8X&quot;, 4568); //大写16 进制,宽度占8 个位置,左对齐
浮点数的打印和格式控制是sprintf 的又一大常用功能,浮点数使用格式符”%f”控制,默认保  留小数点后6 位数字,比如:  sprintf(s, &quot;%f&quot;, 3.1415926); //产生&quot;3.141593&quot;  但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表  示打印的宽度,n 表示小数点后的位数。比如: sprintf(s, &quot;%10.3f&quot;, 3.1415626); //产生:&quot; 3.142&quot; sprintf(s, &quot;%-10.3f&quot;, 3.1415626); //产生:&quot;3.142 &quot;  sprintf(s, &quot;%.3f&quot;, 3.1415626); //不指定总宽度,产生:&quot;3.142&quot;
浮点数的打印和格式控制是
sprintf 
的又一大常用功能,浮点数使用格式符”
%f
”控制,默
认保
 
留小数点后

位数字,比如:
 
sprintf(s, &quot;%f&quot;, 3.1415926); //
产生
&quot;3.141593&quot; 
但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:

%m.nf
”格式,其中


 
示打印的宽度,

表示小数点后的位数。比如:
 
sprintf(s, &quot;%10.3f&quot;, 3.1415626); //
产生:
&quot; 3.142&quot; 
sprintf(s, &quot;%-10.3f&quot;, 3.1415626); //
产生:
&quot;3.142 &quot; 
sprintf(s, &quot;%.3f&quot;, 3.1415626); //
不指定总宽度,产生:
&quot;3.142&quot;
回复 支持 反对

使用道具 举报

2

主题

295

回帖

0

蝴蝶豆

初级会员

最后登录
2018-4-6
发表于 2014-4-14 10:25:28 | 显示全部楼层

RE:stm8中怎么使用sprintf将浮点型转变成字符串

%f 不行? 不行就转化成两部分用%d显示就行了
回复 支持 反对

使用道具 举报

5

主题

108

回帖

0

蝴蝶豆

中级会员

最后登录
1970-1-1
发表于 2014-4-15 17:20:40 | 显示全部楼层

RE:stm8中怎么使用sprintf将浮点型转变成字符串

table应该是字符串型的,f%是可以的,类似于这样就可以:
char str[8];
sprintf(str,&quot;%f&quot;,ad);
回复 支持 反对

使用道具 举报

1

主题

27

回帖

1

蝴蝶豆

初级会员

最后登录
2020-10-16
发表于 2014-4-16 17:49:36 | 显示全部楼层

RE:stm8中怎么使用sprintf将浮点型转变成字符串

你调用了stdio.h么?
回复 支持 反对

使用道具 举报

4

主题

224

回帖

0

蝴蝶豆

初级会员

最后登录
2020-7-4
发表于 2014-4-18 23:10:35 | 显示全部楼层

RE:stm8中怎么使用sprintf将浮点型转变成字符串

这是一个C语言的问题,与STM8 没有关系,你是需要操作字符串还是操作一个浮点型数, 如果理解没错是浮点型数字吧。
直接用
int a = 0, b = 0;
printf(&quot;%f, %d&quot;, a, b);
回复 支持 反对

使用道具 举报

22

主题

456

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-20
发表于 2014-4-20 10:49:54 | 显示全部楼层

RE:stm8中怎么使用sprintf将浮点型转变成字符串

举个例子吧:
char BUFFER[];
f_num =2.2364
sprintf(BUFFER, &quot;%f&quot;, f_num);
回复 支持 反对

使用道具 举报

5

主题

303

回帖

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2014-4-20 15:41:32 | 显示全部楼层

回复:stm8中怎么使用sprintf将浮点型转变成字符串

 这个纯C语言,晚上一搜索就一堆了吧
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版