标题:[求助] 对于float变量取小数点后位数的问题
取消只看楼主
xfree007
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-13
 问题点数:0 回复次数:1 
[求助] 对于float变量取小数点后位数的问题

问题,
将从键盘输入的实型十进制数分离为整数部分和小数部分输出。
如:输入123.45,输出为123.45=123+0.45

我已基本解决问题,可是最后一步卡壳了

代码如下:
main()
{
float a,c;
int b;
scanf(" %f",&a);
b=(int)a;c=a-b;
printf(" %f = %d + %f\n" ,a,b,c);
}

运行之后可以得出结果,但是不是123.45=123+0.45的形式,而是123.450000=123+0.450000的形式
关于这个,我知道 %f 变成 %.2f 之后,此例正确显示,但是要求中没有确定相应的小数点后位数,遇到更多位数的将会四舍五入,所以这个是不对的

求助:怎样才能输出实际数值?

搜索更多相关主题的帖子: float 变量 位数 小数点 
2007-09-21 14:06
xfree007
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-13
得分:0 

我并不需要四舍五入的变换,我需要的仅仅是输出的数值小数点后有几位就输出几位,不要再补零补满6位


2007年9月3日开始学C,请大家多多关照。。。。
2007-09-21 22:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-171824-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.064699 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved