c++ cout输出不足位补0 setw、setfill

头文件:<iomanip>

函数:setw(int n)

函数:setfill(char c)

cout<<setw(8)<<setfill(‘0‘)<<123<<endl;

输出:00000123

C语言

printf("%08d \n",123);

输出:00000123

在C++中setw(int n)用来控制输出间隔
·一般setw(int n)默认输出空格间隔,输出n-1空格间隔
例如:
cout << ‘’ << setw(4) << ‘/’ << endl;

注意事项:
·设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。
·对一个要输出的内容同时设置域宽和 填充字符,但是设置好的属性也对下一个输出的内容有效,
例如,cout << setw(10) << ‘a’ <<‘b’<<endl;‘a’会被算在那10个间隔当中,而对‘b’不起作用。也就是说,setw()函数会把set()后面的一个字符算作其中,
·setw和setfill 被称为输出控制符,被包含在iomanip头文件中,使用时记得include。

  //左侧补零

  //只针对整数可行,因为没有浮点数左侧补零这种写法 如05.1

  int c = 12, d = 34;

  cout << setw(3) << setfill(‘0‘) << c << " " << setw(3) << setfill(‘0‘) << d << endl;//012 034

    //右侧补零

     //只针对小数可行,整数不行,因为整数无法在后面补零

  1.  float aa=0.25;
  2.  cout << setiosflags(ios::fixed) << setprecision(3) << aa << endl;//0.250

原文地址:https://www.cnblogs.com/li-lou/p/12333817.html

时间: 2024-11-09 06:05:46

c++ cout输出不足位补0 setw、setfill的相关文章

Java数字格式化输出时前面补0

/** * 里数字转字符串前面自动补0的实现. * */ public class TestStringFormat { public static void main(String[] args) { int youNumber = 1; // 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型 String str = String.format("%04d", youNumber); System.out.println(str); // 0001 } }

java 有千位分隔逗号的数字格式化输出 数字前补0输出

System.out.printf("%,5d %,6.1f\n", 312342, 3155623.932);输出:312,342 3,155,623.9 System.out.printf("%05d %06.1f\n", 32, 32.32);输出:00032 0032.3

批处理命令如何输出保持三位的数字,不足补0

做测试用到数字需要补0,用windows很头疼.最后终于找到了一种方法. 其实只要一句话:Set "Num=000%a%"&Set "Num=!Num:~-3!" 实例如下: @Echo Off&SetLocal EnableDelayedExpansion set a=2 Set "Num=000%a%"&Set "Num=!Num:~-3!" echo %Num% echo %a% pause 原文

C++,cout输出小数点后指定位

#include <iostream> #include <iomanip>//需要添加此头文件 using namespace std; int main() { float a=0.20001; float b=2; cout<<setprecision(2)<<a<<endl;//输出小数点后两位,0会舍去 cout.setf(ios::fixed); cout<<fixed<<setprecision(2)<

cout输出控制——位数和精度控制

刷到一道需要控制输出精度和位数的题目 刚开始以为单纯使用 iomanip 函数库里的 setprecision 就可以,但 OJ 给我判了答案错误,后来一想这样输出并不能限制位数只能限制有效位数. 比如说 0.000101000110 用 setprecision(4) 答案是 0.000101 这里甚至把最后一位的有效数字 0 省略了!! 后来了解到 fixed 关键字 那么在这里若要控制小数点后 N 位 只要写成 cout << fixed << setprecision(N)

JavaScript实现数字前补“0”的五种方法示例

众所周知JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 <!DOCTYPE html PUBLI

集合的子集输出(位运算方式)

问题:怎样找出某个集合的所有子集,怎样找出某个集合指定元素个数的所有子集? 思路:对集合中所有元素进行标记,0表示未选中,1表示选中.假如有一个集合有3个元素为 {1,2,3}, 则 000 表示一个都不选, 001表示选中数组中第一个元素1,010表示选中数组中第2个元素2,011表示选中数组中第1,2个元素即是1,2.... 这样一来,集合{1,2,3}的所有子集(忽略空集)可以表示为 001 -> 111 这样的编码.这样,我们就知道集合的所有子集的个数,即是 2^3=8个.所以,如果我们

C++中的cout输出机制

代码: 1 #include <iostream> 2 3 using namespace std; 4 5 int hello(){ 6 cout<<"hello"<<endl; 7 return 0; 8 } 9 10 int main(){ 11 int a = 1; 12 cout<<"a="<<hello()<<a<<endl; 13 14 return 0; 15 } 输

Apache 2.4.12 64位+Tomcat-8.0.32-windows-x64负载集群方案

上次搞了Apache 2.2的集群方案,但是现在自己的机器和客户的服务器一般都是64位的,而且tomcat已经到8了.重新做Apache 2.4.12 64位+Tomcat-8.0.32-windows-x64负载集群方案. 知其然知其所以然,先看下一些关键术语: 1.负载均衡(load balance)在互联网高速发展的时代,大数据量.高并发等是互联网网站提及最多的.如何处理高并发带来的系统性能问题,最终大家都会使用负载均衡机制.它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服