| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7723 人关注过本帖
标题:ios::fixed 和 ios::showpoint是什么东东?
只看楼主 加入收藏
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
 问题点数:0 回复次数:9 
ios::fixed 和 ios::showpoint是什么东东?

源代码为
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
const double Cost = 10.50;
double budget, area, lengthSide;

cout << "Enter the amount please.";
cin >> budget;

area = budget/Cost;
lengthSide = sqrt(area);

cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
cout << "for a price of $" << budget << endl
<< "I can built you a doghouse" << "that is" << lengthSide
<< "feet";


return 0;
}

代码中有段:
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
哪位高手解释一下啊,多谢了。

[此贴子已经被作者于2007-7-27 10:19:33编辑过]

搜索更多相关主题的帖子: ios fixed showpoint 东东 
2007-07-22 16:07
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
得分:0 

自己顶,怎么没人啊。

主要是ios::showpoint 和 ios::fixed看不懂啊

2007-07-23 21:53
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
得分:0 

再顶下,怎么没人啊?
那位兄弟给小弟解释下啊

2007-07-26 18:36
sunweihang
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-25
收藏
得分:0 
我还真见过,可是忘记了
我回去给你找书。
我记得那个好像是跟格式有关
2007-07-26 20:05
sunweihang
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-25
收藏
得分:0 

我运行了一下你的程序,可是出现的错误却是fatal error C1083: Cannot open include file: 'streambuf': No such file or directory
我不太明白,那个函数是你自己定义的吗?
或者是你自己定义的头文件?

2007-07-26 20:32
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
得分:0 
没有啊,头文件就是iostream,可能我代码拼写出错了吧,等我检查下
2007-07-27 00:05
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
得分:0 

#include <cmath>和#include <cmath>都是正确的吧.
程序中也只有一个main函数,还有个开方的sqrt数学函数

2007-07-27 00:10
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
得分:0 
以下是引用sunweihang在2007-7-26 20:05:55的发言:
我还真见过,可是忘记了
我回去给你找书。
我记得那个好像是跟格式有关

谢谢啊,等着您的回复,麻烦了

2007-07-27 00:12
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 
ios::showpoint显示浮点数的小数点和后面的0
ios::fixed以定点格式显示浮点数
例子如下:
#include<iostream.h>
#include<iomanip.h>
void main()
{
double a[]={1.000111011,2.2,3,4444444.4,55555555};
cout.precision(6);
for(int i=0;i<5;i++)
{
//cout<<setiosflags(ios::fixed);
//cout<<setiosflags(ios::showpoint);
cout<<a[i]<<" ";
}
}
分别测试可以发现:
单用ios::showpoint可以按精度把后面的空白补0输出,但是超过却还是习惯性输出,例如数组后面两个将会以科学计数输出.
单用ios::fixed也是按精度把后面的空白补0输出,但是不管怎么样,都是按定点输出,即不会表示成科学计数。
忘了说了,precision既是设置精度的,6表示小数点后将最大显示6位。

[此贴子已经被作者于2007-7-30 13:36:22编辑过]


2007-07-30 13:34
yz29631
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-6-20
收藏
得分:0 
以下是引用medicihophy在2007-7-30 13:34:18的发言:
ios::showpoint显示浮点数的小数点和后面的0
ios::fixed以定点格式显示浮点数
例子如下:
#include<iostream.h>
#include<iomanip.h>
void main()
{
double a[]={1.000111011,2.2,3,4444444.4,55555555};
cout.precision(6);
for(int i=0;i<5;i++)
{
//cout<<setiosflags(ios::fixed);
//cout<<setiosflags(ios::showpoint);
cout<<a[i]<<" ";
}
}
分别测试可以发现:
单用ios::showpoint可以按精度把后面的空白补0输出,但是超过却还是习惯性输出,例如数组后面两个将会以科学计数输出.
单用ios::fixed也是按精度把后面的空白补0输出,但是不管怎么样,都是按定点输出,即不会表示成科学计数。
忘了说了,precision既是设置精度的,6表示小数点后将最大显示6位。

讲的这么详细,谢谢啦。

2007-07-31 15:30
快速回复:ios::fixed 和 ios::showpoint是什么东东?
数据加载中...
 
   



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

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