2.6.3 控制输出的字段宽度

输出的字段宽度是输出值所使用的总字符数(包括空格),在这个程序中,它是默认的。printf()函数确定了输出值需要占用多少个字符位置,小数点后的位数由我们指定,并将它用作字段宽度。但我们可以自己确定字段宽度,也可以自己确定小数位数。如果要求输出一列排列整齐的数值,就应确定固定的字段宽度。如果让printf()函数指定字段宽度,输出的数字列就不整齐。用于浮点数的格式说明符的一般形式是:

%[width][.precision][modifier]f

其中,方括号不包含在格式说明符中。它们包含的内容是可选的,所以可省略width、.precision 或modifier,或它们的任意组合。width 值是一个整数,指定输出的总字符数(包括空格),即字段宽度。precision 值也是一个整数,指定小数点后的位数。当输出值的类型是long double 时,modifier 部分就是L,否则就省略它。

可以重写上个例子的printf()调用,指定字段宽度及小数点后的位数,例如:

printf("A %8.2f plank foot can be cut into %5.0f pieces %6.2f feet long.\n",

plank_length, piece_count, piece_length);

上面的代码略微修改了文本,使之能放在书页上。现在,***个值的字段宽度为8,小数点后有2 位数。第二个值是切割的总片数,其字段宽度为5 个字符,且没有小数部分。第三个值的字段宽度为6,小数点后有2 位数。

指定字段宽度时,数值默认为右对齐。如果希望数值左对齐,只需要在%的后面添加一个负号。例如,格式说明符%-10.4f 将输出一个左对齐的浮点数,其字段宽度为10个字符,小数点后有4 位数。

注意,也可以对整数值指定字段宽度及对齐方式。例如%-15d 指定一个整数是左对齐,其字段宽度为15 个字符。还有其他格式说明符,以后会学习它们。用前面的例子试试各种不同的输出,尤其是看看字段宽度太小时会出现什么情况。

【责任编辑:book TEL:(010)68476606】

点赞 0

c语言字段宽度,2.6.3 控制输出的字段宽度相关推荐

  1. html二级菜单的自动宽度,如何使用CSS控制二级导航菜单宽度?_html/css_WEB-ITnose

    New Document 首页 新闻国际新闻 国内新闻 体育新闻 财经股票市场 证券行情 基金保险 联系我们 回复讨论(解决方案) .menu li ul a{ display:block; font ...

  2. fastjson 序列化 输出空字段

    fastjson序列化时,如果字段值为null,默认不输出该字段,如需输出可再序列化时增加特性SerializerFeature.WriteMapNullValue JSONObject.toJSON ...

  3. 易语言调用API控制组合框高度宽度居中下拉方向

    本课视频通过易语言调用API控制了易语言组合框的高度.展开列表.关闭列表.列表项目文字居中,向上弹出下拉框等等. API控制组合框高度宽度居中下拉方向视频教程源码: .版本 2.程序集 窗口程序集_启 ...

  4. R语言数据包自带数据集之ToothGrowth数据集字段解释、数据导入实战

    R语言数据包自带数据集之ToothGrowth数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之ToothGrowth数据集字段解释.数据导入实战 #数据字段说明 #导入包 #导入数据 #数 ...

  5. R语言数据包自带数据集之mtcars数据集字段解释、数据导入实战

    R语言数据包自带数据集之mtcars数据集字段解释.数据导入实战 目录 R语言数据包自带数据集之mtcars数据集字段解释.数据导入实战 #会用帮助?或者help函数 #字段说明 #导入包 #导入数据 ...

  6. webapi 控制json的字段(key)显示顺序

    原文:webapi 控制json的字段(key)显示顺序 使用两个c#的特性: 加在类上的:[DataContract] 加在字段上的:[DataMember(Name = "ResultC ...

  7. html横幅设置,如何控制HTML横幅的宽度和高度?

    我想让我的HTML横幅宽度为915px.我在.box行中有915px,但由于某些原因,HTML横幅大小为938px.如何控制HTML横幅的宽度和高度? 另外,如何控制HTML横幅的高度? See Wh ...

  8. c语言控制输出间隔大小,C/C++ 输出间隔控制

    C++使用setw(int n)来控制他后面的变量的输出占多少个位置.默认是右对齐. 例子: #include using namespace std; #include using std::set ...

  9. jqgrid 控制列的水平宽度

    控制列的水平宽度 当表字段比较多时,如果按照colModel指定的宽度,整个jqGrid宽度会太宽, 我们通常希望控制一下grid的宽度,并同时保持各列的指定宽度. 可以指定jgrid的参数 shri ...

  10. mysql查询字段纯字母_解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题...

    解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 目录 1.使用场景 2.实现过程及展示结果 2.1.修改字段排序规则为u ...

最新文章

  1. ultraedit连接UNIX
  2. Newtonsoft.Json(Json.net)的基本用法
  3. java中使用什么来做错误处理_JAVA基础--如何通过异常处理错误
  4. Apache-Tomcat的安装配置
  5. [latex]图片动态缩放的PDF动画示例
  6. javascript中的内置对象和数据结构
  7. [vue] 有使用过vue吗?说说你对vue的理解
  8. nodejs+kafka+storm+hbase 开发
  9. jdbc工具类 配置版本 20210412_222527.mp4
  10. 自学机器学习_我用来自学机器学习的最佳资源
  11. ECCV 2020 论文大盘点-场景解析篇
  12. 油猴插件入门2之简单悬浮界面
  13. 如何激活Windows Server 2008 R2
  14. Android性能测试工具Emmagee介绍
  15. 企业园区网IPv6地址规划方案与应用
  16. 快速破解基于linux内核的开源路由器后台管理登录密码
  17. 24V转5V降压芯片,24V转3.3V的稳压芯片,中文规格书
  18. 微信整合CRM系统的好处
  19. 【codeforces 777D】Cloud of Hashtags
  20. Cobalt Strike Aggressor Script

热门文章

  1. retroarch游戏模拟器使用
  2. 傅里叶分析——思维导图
  3. 使用CSS实现国际象棋棋盘
  4. matlab绘制图形hold on_Matlab绘图示例
  5. 软件工程课程课后大作业
  6. 软件设计模式概念与意义
  7. java 微信公众号微信支付
  8. QTableView详细使用说明
  9. python编程实战(三):暴力破解WIFI密码!亲测运行有效!
  10. 苹果手机如何上传文件到服务器,有限条件下,如何将IPhone手机照片传到Windows电脑中?...