2.2.1 操纵符(3)
打印数值1.05、10.15和200.87。采用右对齐方式,域宽为10,使用星号来填充多余的位,代码的输出为
操纵符left和right用来设置域对齐方式是左对齐或右对齐。
例2-15
下面的代码段以左对齐方式、域宽为10打印姓名,以右对齐方式、域宽为6打印数值:
代码的输出为
操纵符showpoint强制显示小数点以及全部尾部0。默认情况下,浮点数以定点数打印还是以科学(指数)计数法打印,要以哪种方式打印占用更小的域宽来决定。使用操纵符scientific可以强制浮点数以科学计数法打印,使用操纵符fixed强制浮点数以定点数打印。
例2-16
代码段
打印3个域宽为8的浮点数,精确到小数点后2位。因为使用了操纵符showpoint,所以小数点和其后跟着的0都要求打印出来。操纵符fixed要求以定点数输出。输出为
如果不使用操纵符showpoint和fixed,则代码段
由于在默认情况下,浮点数通常是按最小域宽输出的。比如对于x.000000在去除最后的0和小数点后,究竟是使用定点数还是科学计数法来输出,要以哪种方式的域宽最小来决定。
在使用showpoint操纵符后,它的作用能通过使用noshowpoint操纵符来取消。相似地,noshowpos操纵符产生的效果(为正数增加正号)可通过noshowpos操纵符来撤销,在输入前跳过空格可通过noskipws操纵符来撤销。
例2-17
以下程序将标准输入拷贝到标准输出,每次一个字符,包括空格在内的所有字符都被拷贝: