| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1724 人关注过本帖
标题:关于%.3f 四舍五入问题。
取消只看楼主 加入收藏
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
结帖率:100%
收藏
 问题点数:0 回复次数:6 
关于%.3f 四舍五入问题。
代码如下:
#include<stdio.h>
#include<math.h>
#define pi 3.141592653
void main()
{
    double r,h,v,s,v1,s1;
    printf("Please input radius and height of the cylinder:");
    scanf("%lf%lf",&r,&h);
    s=pi*pow(r,2);
    v=s*h;
    printf("%.3f %.3f\n",s,v);
    s1=(int)(s*100+0.5)/100.0;
    v1=(int)(v*100+0.5)/100.0;
    printf("%.2f %.2f\n",s1,v1);
}

本来第一次输出是不应该四舍五入的,但是结果却会。可以输入1和1看看。
在另一个程序重新打一个纯输入输出的代码,却不会遇到这样的问题。
搜索更多相关主题的帖子: include double 
2013-03-14 20:36
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
回复 2楼 爱电脑的小白
不是啊,你可以重新弄个简单的程序试试。高手来啊
2013-03-15 16:24
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
大家帮忙啊。。。要分以后都给啊。。
2013-03-17 23:07
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
回复 6楼 TonyDeng
比说我输入 1 1,第一个printf输出的应该是3.141而不是3.142
2013-03-17 23:21
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
回复 8楼 TonyDeng
不是直接舍掉后面几位吗??

那要直接舍掉后面几位怎么办??
2013-03-17 23:40
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
好吧,奇怪,以前都会自己舍得。。。
2013-03-17 23:48
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
收藏
得分:0 
回复 10楼 TonyDeng
不是啊,那这样还要四舍五入的算法做什么???
2013-03-18 00:02
快速回复:关于%.3f 四舍五入问题。
数据加载中...
 
   



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

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