[转载] c++ cout 格式化输出浮点数、整数及格方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢。。。?
下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常的: dec 置基数为10 相当于"%d"
hex 置基数为16 相当于"%X"
oct 置基数为8 相当于"%o"
setfill(c) 设填充字符为c
setprecision(n) 设显示小数精度为n位
setw(n) 设域宽为n个字符
setioflags(ios::fixed) 固定的浮点显示
setioflags(ios::scientific) 指数表示
setiosflags(ios::left) 左对齐
setiosflags(ios::right) 右对齐
setiosflags(ios::skipws 忽略前导空白
setiosflags(ios::uppercase) 16进制数大写输出
setiosflags(ios::lowercase) 16进制小写输出
setiosflags(ios::showpoint) 强制显示小数点
setiosflags(ios::showpos) 强制显示符号 #include <iomanip>
use namespace std; double d=11.23456;
cout<<d<<endl; //直接输出只能输出6位数,包括整数部分和小数部分
cout<<setprecision()<<d<<endl; //精度为3,输出3位数
cout<<setiosflags(ios::fixed)<<d<<endl;//精度为3,定点输出,输出3位小数
cout<<setiosflags(ios::fixed)<<setprecision()<<d<<endl;//位数不够,末尾添0 输出结果:
11.2346
11.2
11.23456
11.2345600 C++格式化输出浮点数 view plaincopy to clipboardprint?
.#include <iostream>
.using std::cout;
.using std::endl;
.using std::fixed;
.using std::scientific;
.
.int main()
.{
. double x = 0.001234567;
. double y = 1.946e9;
.
. cout << "Displayed in default format:" << endl << x << '\t' << y << endl;
.
. cout << "\nDisplayed in scientific format:" << endl << scientific << x << '\t' << y << endl;
.
. cout << "\nDisplayed in fixed format:" << endl << fixed << x << '\t' << y << endl;
. return ;
.}
#include <iostream>
using std::cout;
using std::endl;
using std::fixed;
using std::scientific; int main()
{
double x = 0.001234567;
double y = 1.946e9; cout << "Displayed in default format:" << endl << x << '\t' << y << endl; cout << "\nDisplayed in scientific format:" << endl << scientific << x << '\t' << y << endl; cout << "\nDisplayed in fixed format:" << endl << fixed << x << '\t' << y << endl;
return ;
} Displayed in default format:
0.00123457 1.946e+009 Displayed in scientific format:
1.234567e-003 1.946000e+009 Displayed in fixed format:
0.001235 1946000000.000000 view plaincopy to clipboardprint?
.#include <iostream.h>
.
.main(void)
.{
. float a=100100.0, b=0.08;
. cout.setf(ios::right|ios::scientific|ios::showpoint);
. cout.width();
. cout <<(-a*b);
.
. return ;
.}
#include <iostream.h> main(void)
{
float a=100100.0, b=0.08;
cout.setf(ios::right|ios::scientific|ios::showpoint);
cout.width();
cout <<(-a*b);
return ;
} -8.008000e+003 view plaincopy to clipboardprint?
.#include <iostream>
.#include <iomanip>
.#include <limits>
.using std::cout;
.using std::endl;
.using std::setprecision;
.using std::numeric_limits;
.
.int main() {
. const double pi = 3.14;
. cout << endl;
.
. for(double radius = . ; radius <= 3.0 ; radius += .)
. cout << "radius = "
. << setprecision(numeric_limits<double>::digits10 + )
. << std::scientific << radius<< " area = "
. << std::setw() << setprecision()<< std::fixed << pi * radius * radi
.us << endl;
. return ;
.}
#include <iostream>
#include <iomanip>
#include <limits>
using std::cout;
using std::endl;
using std::setprecision;
using std::numeric_limits; int main() {
const double pi = 3.14;
cout << endl; for(double radius = . ; radius <= 3.0 ; radius += .)
cout << "radius = "
<< setprecision(numeric_limits<double>::digits10 + )
<< std::scientific << radius<< " area = "
<< std::setw() << setprecision()<< std::fixed << pi * radius * radi
us << endl;
return ;
} radius = 2.0000000000000001e-001 area = 0.125600
radius = 4.0000000000000002e-001 area = 0.502400
radius = 6.0000000000000009e-001 area = 1.130400
radius = 8.0000000000000004e-001 area = 2.009600
radius = 1.0000000000000000e+000 area = 3.140000
radius = 1.2000000000000000e+000 area = 4.521600
radius = 1.3999999999999999e+000 area = 6.154400
radius = 1.5999999999999999e+000 area = 8.038400
radius = 1.7999999999999998e+000 area = 10.173600
radius = 1.9999999999999998e+000 area = 12.560000
radius = 2.1999999999999997e+000 area = 15.197600
radius = 2.3999999999999999e+000 area = 18.086400
radius = 2.6000000000000001e+000 area = 21.226400
radius = 2.8000000000000003e+000 area = 24.617600 view plaincopy to clipboardprint?
.#include <iostream>
.#include <iomanip>
.#include <string>
.
.using namespace std;
.
.int main( ) {
.
. ios_base::fmtflags flags = cout.flags( );
.
. double pi = 3.14285714;
.
. cout << "pi = " << setprecision() << pi << '\n';
.
. cout.flags(flags);
.}
#include <iostream>
#include <iomanip>
#include <string> using namespace std; int main( ) { ios_base::fmtflags flags = cout.flags( ); double pi = 3.14285714; cout << "pi = " << setprecision() << pi << '\n'; cout.flags(flags);
} pi = 3.1429 view plaincopy to clipboardprint?
.#include <iostream>
.#include <iomanip>
.#include <math.h>
.using namespace std;
.int main()
.{
. double root2 = sqrt( 2.0 );
. int places;
.
. cout << setiosflags( ios::fixed)
. << "Square root of 2 with precisions 0-9.\n"
. << "Precision set by the "
. << "precision member function:" << endl;
.
. for ( places = ; places <= ; places++ ) {
. cout.precision( places );
. cout << root2 << '\n';
. }
.
. cout << "\nPrecision set by the "
. << "setprecision manipulator:\n";
.
. for ( places = ; places <= ; places++ )
. cout << setprecision( places ) << root2 << '\n';
.
. return ;
.}
[转载] c++ cout 格式化输出浮点数、整数及格方法的更多相关文章
- [ZZ]c++ cout 格式化输出浮点数、整数及格式化方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...?下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化 ...
- C++ cout格式化输出(转)
C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...
- C++ cout格式化输出完全攻略
写算法题的时候突然发现自己忘记基本的C++:cout格式化输出了,赶紧拉出以前的C++学习笔记重新看一看. 部分内容来自教程:C语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进 ...
- C++格式化输出浮点数
主要内容 介绍C++中如何格式化输出浮点数. 控制浮点数输出格式需要包含iomanip头文件. 使用fixed来控制输出的浮点数的小数位是固定的.可参考http://en.cppreference.c ...
- //%f表示以十进制格式化输出浮点数 %.2f
//%f表示以十进制格式化输出浮点数 String s1 ="评分: %.1f"; String s2 = String.format(s1, 8.0); System.out.p ...
- C++ cout 格式化输出方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? iomanip是I/O流控制头文件,就像printf的格式化输出一样. 以下是一些常用的: dec 置基数为10 相 ...
- C++ cout格式化输出
表1:C++ 流操纵算子 流操纵算子 作 用 *dec 以十进制形式输出整数 常用 hex 以十六进制形式输出整数 oct 以八进制形式输出整数 fixed 以普通小数形式输出浮点数 scienti ...
- C++ cout格式化输出(输出格式)完全攻略
使用流操作算子 它们都是在头文件 iomanip 中定义的:要使用这些流操纵算子,必须包含该头文件. 表1:C++ 流操纵算子 流操纵算子 作 用 *dec 以十进制形式输出整数 hex 以十六进制 ...
- cout 格式化输出
一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在 ...
随机推荐
- AngularJS服务中serivce,factory,provider的区别
Angular服务是一个由服务工厂创建的单例对象.这些服务工厂是由 service provider 依次创建的.而service providers是构造函数.它们必须包含一个$get属性用于在实例 ...
- static总结
[本文链接] http://www.cnblogs.com/hellogiser/p/static.html [分析] [内存分配方式] 在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局 ...
- cas单点注销失败Error Sending message to url endpoint
最近在做cas单点登录时,由于是单点登录.必然会涉及到单点注销,然而在做单点注销时由于对cas注销机制不了解加之测试条件所致,所有测试都是在本机下完成(机器性能较低,没用虚拟机):导致折腾了很久.网上 ...
- 利用 FFmpeg palettegen paletteuse 生成接近全色的 gif 动画
下载FFmpeg-VideoToGif-v1.0.bat.7z FFmpeg 2.6 及以上版本有效 未使用palette时 使用palette后 @echo off set inFile=2015. ...
- Java for LeetCode 079 Word Search
Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from l ...
- Ubuntu 用户安装 MATE
MATE 是经典桌面 Gnome 2 的分支,该桌面按照 Windows 用户操作习惯设计,适合于 Windows 转投 Linux 的初级用户,MATE 做了功能改进和新增功能.如:增加窗口管理 ...
- 优秀前端工程师应该掌握的内容(转自:github)
程序 标准规范 ECMAScript HTTP 知识储备 作用域/闭包 数据结构 算法 编程范式 函数式 面向对象 基于原型 面向方面 设计模式 软件架构 MVC MVVM 安全 XSS CSRF 富 ...
- 利用github page搭建博客
为什么选择GitHub Pages? 很多人用 wordpress,你为什么要用 github pages 来搭建? 1.github pages有300M免费空间,资料自己管理,保存可靠: 2.学着 ...
- C# 6新特性及示例代码
今天推荐的其实是一个Github开源项目,不过这个开源项目是专门介绍C# 6的最新特性,并给出了示例代码. 我们知道,微软即将发布Windows 10和Visual Studio 2015,在VS20 ...
- 简单几何(线段覆盖) POJ 3347 Kadj Squares
题目传送门 题意:告诉每个矩形的边长,它们是紧贴着的,问从上往下看,有几个还能看到. 分析:用网上猥琐的方法,将边长看成左端点到中心的距离,这样可以避免精度问题.然后先求出每个矩形的左右端点,然后如果 ...