永发信息网

关于sprintf函数不能把浮点型数转化成字符串的问题,,,,,求大神指导

答案:2  悬赏:20  手机版
解决时间 2021-03-10 20:20
  • 提问者网友:感性作祟
  • 2021-03-09 19:46
#include

unsigned long int measure_hz=0;

unsigned long int signal_hz=0;

char fq_measure[10]="0000000000";

void main(void)
{
measure_hz=1;
signal_hz=sys_hz/measure_hz;
sprintf(fq_measure,"%l",signal_hz);
}

调试后发现转化后数组fq_measure[10]=".000000000";为什么有个小数点啊,怎么转换不正常啊,而且即使把signal_hz编程浮点型,里面变成%f也不能正常转换,怎么回事?
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-03-09 20:08
fq_measure[11]="0000000000"; -- 字符串结束符要一个单元存放。
sprintf(fq_measure,"%u",signal_hz); -- 无符号 %u

浮点型数 float,double, 用 %f %lf 或 %g
全部回答
  • 1楼网友:舍身薄凉客
  • 2021-03-09 20:30
搜一下:关于sprintf函数不能把浮点型数转化成字符串的问题,,,,,求大神指导
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯