| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2663 人关注过本帖
标题:float函数问题
只看楼主 加入收藏
雾里偷花
Rank: 2
来 自:社会
等 级:论坛游民
帖 子:45
专家分:33
注 册:2009-10-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
float函数问题
程序代码:
# include<stdio.h>
int main()
{

 float i;

 scanf("%f",&i);

 printf("%.1f\n",i);

 getch();
}
我是输出保留一位小数点,输入大于一位小数点时是不是就把第二位四舍五入???可是有些数值不五入(比如有些第二位小数点为5时不会,输入的数据没超出有效位),请高手解答~~~~~~~~~~
搜索更多相关主题的帖子: 函数 float 
2010-02-28 02:59
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:15 
这应该是float类型数据在内存存储的问题!

因为小数部分化为二进制数时,有些是不可能完全与十进制的小数对等的.比如0.45那么化为二进制后,再还原回来就不是0.45而可能是小于0.45了,因此四舍五入,就不会是0.5而是0.4了!

★★★★★为人民服务★★★★★
2010-02-28 08:24
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
float double之类型被称之为不精确类型

★★★★★为人民服务★★★★★
2010-02-28 08:29
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
我还真没注意过这类似的问题。不过如果是这样,原理到是很清楚~~ 就是楼上说的那么回事。
2010-02-28 09:20
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
前面说的对不对,希望共同探导!

★★★★★为人民服务★★★★★
2010-02-28 14:01
雾里偷花
Rank: 2
来 自:社会
等 级:论坛游民
帖 子:45
专家分:33
注 册:2009-10-27
收藏
得分:0 
呵呵~~~
谢谢~~~~
2010-02-28 14:50
快速回复:float函数问题
数据加载中...
 
   



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

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