sprintf函数在keil中怎么使用?我现在要将一个浮点数据,格式化为ASCII码的形式。比方说如下定义的数据:
float z = 26.45;
怎么把这个z格式化成ASCII编码的形式。
1、先定义个一个数组数组长度要小于你的目标字符串长度。
char str[10];
2、使用sprintf()函数
sprintf(str,%.2fz);
意思是,把数据z,按照浮点数,保留两位小数,打印成字符串,并保存到数组str中
sprintf只能讲其他类的数字转换成字符串,使用方法:
首先包含头文件:include<stdio.h>
之后使用:
使用的时候首先定义一个字符串数组,注意,最好是定义数组,不要定义指针,指针很容易出错,导致转换不成功
char str[10];
现在开始使用sprintf(str"%f"z);就行了
其中,str是你的转换结果存储的字符串,"%f"是你期望转换的数据的格式,你题目中所期望转换的是浮点型数据,所以就是“%f”,如果是整数型,就是“%d”
最后一个参数就是你起转换的数字了。
sprintf函数不可以达到的,浮点的二进制存储方式是不同于整形的
只能是转成字符串的形式
因为计算能力的限制,printf不支持对浮点数的格式化处理
只能自行解决
比如*100再取整
char aStr[10];
sprinf(aStr "%.2f" z);
这样aStr中就有数值啦,小数点后2位,不过因为aStr只有9个字符长度限制(最后那个要放\0)所以注意不要z的值格式化后超过。如果要超过,则要把aStr定义为更长的字符数组。
sprintf 和 printf 都是一类,同样的用法,printf 输出到标准输出设备,sprintf 输出到变量
sprintf(var,"%d",xxx);
xxx 是你的浮点数,var 是变量,定义一个字符数组,长度要足够。