setiosflags() 的好处多多

本课讲:setiosflags( ios::fixed ),其头文件为:include<iomanip>.
注:在遇到要计算浮点数且希望能控制其输出、精度、小数点后的位数等时,那么这个时候,用setiosflags( ios::fixed )来控制是再好不过了!且看下面程序:

#include<iostream>
#include<cmath>
using namespace std;
int main() {
 
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}

输出结果为:sqrt(2000) = 44.7214. 那么也就是说编译器的默认精度为小数点后4位。那么如果我想让其小数点后精度为1位、2位、3位或20位,该怎么办呢?来,这么试试:
例一:
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main() {
 cout << setprecision( 1 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}   //结果为4e+001
例二:
int main() {
 cout << setprecision( 1 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}    //结果为45
例三:
int main() {
 cout << setprecision( 3 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
} //结果为44.7
大家可以明显看到,编译器输出的结果纯粹是无稽之谈!根本不是按照人们的意志去做的!遇到这种比艳门照还尴尬的情况该怎么办呢?不要怕,这时候动动脑子,救星就来啦!它就是人称一朵犁花压海棠的:setiosflags( ios::fixed ) ! 废话少说,拿实例来!
例一:
int main() {
 cout << setiosflags( ios::fixed ) << setprecision( 1 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}  //结果为44.7
例二:
int main() {
 cout << setiosflags( ios::fixed ) << setprecision( 2 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}  //结果为44.72
例三:
int main() {
 cout << setiosflags( ios::fixed ) << setprecision( 3 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}  //结果为44.721
Apparently, all of the answers are totally correct with any doubt! 结果全部正确,哪怕你来个 setiosflags( ios::fixed ) << setprecision( 1000 ), 结果照样不来半点寒糊! 
此外,还要补充一点的是,某些人,当吃饱撑得在床上直打滚儿、嗷嗷叫着难受时,便喜欢多惹出点事非来,他们喜欢在setiosflags()里再加个showpoint,我不知道这样做好是不好,可我感觉它确实有点多余!因为加不加showpoint几乎是没什么区别,如果你也吃多了,肚子涨,胃痛胃酸不消化,非要挑骨头捡刺儿,那也能找出点不一样,就是:当setprecision()的精度为0的时候,你有showpoint,那结果你就会多个点儿,没showpoint,就没有。实例:
int main() {
 cout << setiosflags( ios::fixed ) << setprecision( 0 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}  // 结果 45
int main() {
 cout << setiosflags( ios::fixed|ios::showpoint ) << setprecision( 0 );
 cout << "sqrt(2000) = " << sqrt( 2000 ) << endl;
 return 0;
}  //结果 45. 
看到这个点儿没?所以说嘛,showpoint,可有可无!如果想简化程序,那干脆就不加!
最后,再次特别提醒大家,想使用setiosflags或者setprecision时,一定得加头文件<iomanip>,在setiosflags()里面填东西的时候,前面一定得加上域符 ios::。

时间: 2024-10-07 13:47:25

setiosflags() 的好处多多的相关文章

云计算的好处多多 危险也多多

本文讲的是云计算的好处多多 危险也多多,作为一项有望大幅降低成本的新兴技术,云计算正日益受到一系列众多公司的追捧.但这些公司真的了解云计算这种不明确概念的真正本质吗? 云计算让公司可以把计算机处理工作的一部分(有时几乎是所有部分)外包出去.在CIO们的眼里,公司只要付费给外部提供商,用不着把钱花在内部服务器以及检修服务器所需的IT专业人员上.然后,公司可以通过互联网(用IT行话来说是"通过云计算环境")来访问计算基础设施. 更棒的是,云计算服务提供商告诉我们,云计算能够实现大规模扩展.

微软高管:云计算好处多多不适合有IT控制癖者

CNET科技资讯网4月13日国际报道 把服务器软件放在云端的好处多多,让企业不必再担心修补漏洞.升级部署等等.但云计算令许多CIO难以忍受的一大缺点,是鞭长莫及.失去控制权. 微软资深副总裁Chris Capossela上周在一场午餐会中表示:移往云计算服务,的确会失去控制权.无法控制软件何时获得更新,或拒绝接受某些新东西. Capossela表示,许多IT主管认为云计算的利弊参半,既看出它令人兴奋和有益之处,也对它十分畏惧. 对终端使用者而言,则没多大差别.微软的软件不论是在客户自己的数据中心

开发项目过程中辅助方法好处多多

在开发项目过程中,总是会出现大量的辅助方法,例如字符串处理,代码检 验,格式输出等等.如果您发现自己在多次编写类似的代码,可能就要想着如何 把这些代码进行提取,变成辅助方法(亦或是类库甚至框架,关于这方面粒度问 题在此不作讨论).辅助方法的作用除了遵循DRY原则之外,也能让代码更容易 编写,更为清晰,可读性也能更好--而且只要您"去做",就会发现要得到这 些好处并不困难. 在这里举一个最简单的例子,对Index方法的单元测试: [TestMethod] public void Inde

谈谈坚持软文写作的四大好处

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 软文写作对于做网站的人来说都知道是必不可少的,要坚持写软文,这对于网站的优化排名是大大地有好处的.好的软文能够提高关键词的曝光率,提高网站的排名和权重,提高网站的知名度等等.那么坚持写软文对我们具体有哪些好处呢?本人认为,坚持软文写作有以下几个方面的好处: 第一 坚持软文写作是一个人的执行力的见证 能够坚持软文创作的人,都说明他有一定的韧性,

实例浅析做网络营销的好处

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 随着网络的发展,网络营销已经是企业不得不做的一种营销方式了.不管是哪个行业,没有不可以做网络营销的,也没有做网络营销没效果的.现在不管做什么,要查什么信息,只要不是违法的,跟法律不冲突的,基本上都能从网络上获得资料.百度一下,你就知道.这句话还是有道理的. 所以,在这样一个"大市场"中做广告,效果肯定是会有的,好处多多.拿

新闻发布系统,SQLHelper重构

在清楚把握牛腩新闻发布系统的需求,以及对系统的数据库也做好了相应的设计后,接下来的几天里就是对后台代码的编写. 在视频中,采用的是经典三层的框架,这对于已经经历过机房重构的我们来说,敲代码还是很容易上手的. 相信大家都不会忘记机房重构中我们的一个好助手,那就是SQLHelper. 在机房重构的时候,看了很多博客,大家都用上了,也都觉得好用,我也就直接借鉴而来.在自己一步一步调试的时候,在自己的程序出现Bug的时候,真的发现SQLHelper的好处多多.但自己也没有去认真研究过这样一个类究竟是怎么

揭秘Win8电脑OEM分区的创建

现在预装 Win8 的电脑大多是采用新版 UEFI 固件 + GPT 格式磁盘,不再像以前的 BIOS + MBR.采用 UEFI 和 GPT 的好处多多,例如可实现安全启动等更多新特性,和支持更多的硬盘分区.更大的分区容量. 像戴尔等品牌笔记本会有一些系统启动前就可以运行的诊断工具,其实这些工具往往是存放在硬盘的一个隐藏的OEM分区里的.如果自行重装系统时不小心将其删除,那么即便从别处拷贝到了其中的程序文件,又该怎么恢复分区的 OEM 隐藏属性呢? 对于 MBR 格式的硬盘,通过百度搜素,我们

做微信营销活动的四大技巧

微信营销成了很多企业的必备手段之一,只不过有的企业玩得好有收获有的企业玩的差浪费时间.这里说玩的差不是说微信公众号关注少或者阅读量少,事实上这些东西对于企业微信营销来说不是绝对的指标,企业微信营销的绝对指标永远是上门和成交.因此说企业玩微信营销玩的差是说企业微信公众号转化比较差.当然做微信还有另外两两大目的,一个是吸粉,一个是宣传品牌.只不过相对转化来说很多企业不是很迫切需要这两个. 当然不是所后面两个目标不重要,后面两个目标毕竟是基础目标,还是很重要的,只不过对于企业来说这两个目标通常不能带来

用XML在页面内刷新数据

xml|数据|刷新|页面 不离开页面就能刷新页面中的(部分)数据好处多多.主要是不需要写无聊代码维护 state.ASP.NET (以及其雏形 VI6 SOM)中的 server-side control (VI6 DTC, Script Library) 通过大量hidden input 来维护页面 state,其功力之深,非吾辈能及.所以我们要想办法不离开页面就能得到新数据, 1. XMLHTTP   这种方法意思和 RDS 差不多,但在 XML 时代,这种方法显得比较正经儿.   网上有个