C++之格式化输出

每个输出流都有 precision 成员函数,一旦为某个输出流调用了 precision 函数,向该流输出带小数点的数字时候,要么总共保留两位有效数字,要么在小数点之后保留两位,具体实现方式由编译器决定。precision函数只对指定的流生效。

setf 成员函数是set flags的缩写,不是set format的缩写!是以二选一的方式来做一件事情的指令。

ios::fixed  标志导致 流 采用 定点计数法 来输出double类型的数字,而不是用采用 e记数法

ios::showpoint 标志要求 流 总是在 浮点数 中包含小数点。

ios::scientific 标志会用 e记数法 输出数字。

ios::showpos 标志正整数前会输出 + 号

ios::right标志如果使用,同时使用了 width 指定了域宽,输出的下一项会采用 右对齐。默认为此项

ios::left标志如果使用,同时使用了 width 指定了域宽,输出的下一项会采用 左对齐

width 成员函数用来设置 域宽。例如:

    cout << "a";    
    cout.width(4);
    cout << 7 << endl;

则输出 a   7。a与7之间有3个空格,因为系统默认是设置 ios::right 右对齐。

注意 width 成员函数只适应于下一个要输出的项,如果要输出多个项,要调用多次width,如果嫌麻烦,可以使用流操纵元 setw。

设置的任何标志都可以取消设置,通过调用 unsetf 成员函数即可取消设置,例如:

    cout.unsetf(ios::showpos);

即可取消正整数前面显示 + 号。

setw 和 setprecision 操纵元。

操纵元是以非传统的方式调用的函数。操纵元位于插入操作符 << 之后。两个操纵元均在 iomanip 库中,要想使用,需要调用该库。

setw 操纵元和 width 成员函数作用一样,要想多次设置域宽,需要调用多次 setw 操纵元。实际上,setw 操纵元就是调用了 width 成员函数。如下代码:

    cout << "a" << set(5) << 1    
                << set(5) << 2
                << set(7) << 3 << endl;

该语句输出为:a    1    2      3。其中 1、2 前面有4个空格,3 前面有 6 个空格。

setprecision 操纵元和 precision 成员函数功能一样。如下代码:

    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout << "a" << setprecision(2) << 1.2
                                 << 2.3 << endl;

setprecision 操纵元与 precision 成员函数一样,设置之后一直生效。上例输出结果:1.20 2.30。

时间: 2024-09-30 14:46:36

C++之格式化输出的相关文章

python变量及用户交互,用户名格式化输出

变量 name = wwjun Name2 = "wwjun" print ("name,Name2") 用户交互 Username = input ("username:") Password = input ("password:") Print(username,password) 用户名格式化输出 name = input ("name:") age = input ("age:"

var_dump() 格式化输出 | 显示不全

PHP 使用‘var_dump($var)’时 没有格式化输出,显得乱糟糟的.原因是没有启用‘XDebug’扩展 [php.ini] ; XDEBUG Extension zend_extension = "x:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll" var_dump()方法输出时候会展示不全出现省略号 解决下 在php.ini里的[xdebug]节点中,追加一下配置: xdebug.var_dis

python 3 用户输入和格式化输出

# -*- coding:utf-8 -*- #用户输入 && 格式化输出 #getpass 模块是内置的,可以将输入的内容隐藏 import getpass username = input("username:") password = input("password:") age = int (input("age:")) job = input("job:") #print(type(age),type

Python 格式化输出

2017-07-29  22:03:07 一.使用格式符%进行格式控制 %[(name)][flags][width].[precision]typecode (name):命名 flags:可以有+,-,' '或0.+表示右对齐.-表示左对齐.' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐.0表示使用0填充 wideth : 表示显示宽度,占位个数 precision : 表示小数点后精度 typecode : 格式符为真实值预留位置,并控制显示的格式.格式符可以包含有一个类型

python开发基础:格式化输出

1 #format的三种玩法 2 res1 = '{},{},{}'.format('joker','male',18) 3 print(res1) #类似于占位符 4 res2 = '{1},{0},{1}'.format('joker','male',18) 5 print(res2) #类似于列表角标查找 6 res3 = '{name},{age},{sex}'.format(sex='male',name='joker',age='18') 7 print(res3) #指定参数 8

String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转)

String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转) //格式为sring输出 // Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); // Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf"; // Label1.Text = string.Format("asdfadsf{0:C}adsfas

Python格式化输出

python 格式化输出细节,以备忘 转载自: http://www.cnblogs.com/plwang1990/p/3757549.html 1. 打印字符串 print ("His name is %s" % ("David")) 2.打印整数 print ("He is %d years old" % (25)) 3.打印浮点数 print ("His height is %f m" % (1.83)) 4.打印浮点数

[转]Python格式化输出

今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ("He is %d years old"%(25)) 效果: 3.打印浮点数 print ("His height is %f m"%(1.83)) 效果: 4.打印浮点数(指定保留小数点位数) print

fortran之format格式化输出总结

先贴一段别人总结好的: 格式化输出的控制字符非常的丰富,但常用的并不多,一般说来:" I .F.E.A.X "是最常使用的几个格式,最 好把它们都记下来. Iw[.m] 以w个字符的宽度来输出整数,至少输出m个数字. 如:write(*,"(I5)") 100   输出:_ _100 ; 前面两空格 Fw.d 以w个字符文本框来输出浮点数,小数部分占d个字符宽,输出文本框的设置不中会出现*号. 如:write(*,"(F9.3)") 123.45

【Python④】python恼人的字符串,格式化输出

恼人的字符串 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母a的编码是97. 但是要处理中文至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去.全世界有上百种语言,为了扩充ASCII编码,用于显示本国的语言,不同的国家和地区制定了不同的标准,由此产生