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 格式化输出浮点数、整数及格方法的更多相关文章

  1. [ZZ]c++ cout 格式化输出浮点数、整数及格式化方法

    C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...?下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化 ...

  2. C++ cout格式化输出(转)

    C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...

  3. C++ cout格式化输出完全攻略

    写算法题的时候突然发现自己忘记基本的C++:cout格式化输出了,赶紧拉出以前的C++学习笔记重新看一看. 部分内容来自教程:C语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进 ...

  4. C++格式化输出浮点数

    主要内容 介绍C++中如何格式化输出浮点数. 控制浮点数输出格式需要包含iomanip头文件. 使用fixed来控制输出的浮点数的小数位是固定的.可参考http://en.cppreference.c ...

  5. //%f表示以十进制格式化输出浮点数 %.2f

    //%f表示以十进制格式化输出浮点数 String s1 ="评分: %.1f"; String s2 = String.format(s1, 8.0); System.out.p ...

  6. C++ cout 格式化输出方法

    C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? iomanip是I/O流控制头文件,就像printf的格式化输出一样. 以下是一些常用的: dec 置基数为10 相 ...

  7. C++ cout格式化输出

    表1:C++ 流操纵算子 流操纵算子 作  用 *dec 以十进制形式输出整数 常用 hex 以十六进制形式输出整数 oct 以八进制形式输出整数 fixed 以普通小数形式输出浮点数 scienti ...

  8. C++ cout格式化输出(输出格式)完全攻略

    使用流操作算子 它们都是在头文件 iomanip 中定义的:要使用这些流操纵算子,必须包含该头文件. 表1:C++ 流操纵算子 流操纵算子 作  用 *dec 以十进制形式输出整数 hex 以十六进制 ...

  9. cout 格式化输出

    一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在 ...

随机推荐

  1. Java for LeetCode 039 Combination Sum

    Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C wher ...

  2. DP:Cheapest Palindrome(POJ 3280)

    价值最小回文字符串 题目大意:给你一个字符串,可以删除可以添加,并且每一次对一个字母的操作都带一个权,问你转成回文串最优操作数. 如果这一题我这样告诉你,你毫无疑问知道这一题是LD(Levenshti ...

  3. ShortestPath:Layout(POJ 3169)(差分约束的应用)

                布局 题目大意:有N头牛,编号1-N,按编号排成一排准备吃东西,有些牛的关系比较好,所以希望他们不超过一定的距离,也有一些牛的关系很不好,所以希望彼此之间要满足某个关系,牛可以 ...

  4. DP:Islands and Bridges(POJ 2288)

    2015-09-21 造桥基建工程 题目大意,就是有n座岛和k座桥,要你找一条哈密顿圈(找完所有的岛,并且每个岛只经过一次),当经过一座岛就加上岛的价值,如果两岛联通,则加上两座岛的价值之积,如果三座 ...

  5. Java的switch用法

    下面是switch的用法: var status = msg;        switch (status)    //status是表达式        {            case 0:st ...

  6. MFC 颜色选择对话框、颜色按钮

    COLORREF color=RGB(0,255,0); unsigned char r=GetRValue(color); unsigned char g=GetGValue(color); uns ...

  7. backslash and newline separated by space

    原来是因为\  后面多了一个空格 检查写的代码中将\后面的空格去掉就可以了.

  8. /etc/profile和$HOME/.bash_profile

    Linux中含有两个重要的文件 /etc/profile和$HOME/.bash_profile 每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级用户所 ...

  9. 防止黑客对服务器IP地址的攻击

    下面的参数都是系统默认的: [root@ok etc]# cat /proc/sys/net/ipv4/conf/eth0/accept_source_route [root@ok etc]# cat ...

  10. [转]ThreadPoolExecutor线程池的分析和使用

    1. 引言 合理利用线程池能够带来三个好处. 第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 第二:提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行. 第 ...