深入剖析PHP中printf()函数格式化使用


Posted in PHP onMay 23, 2016

printf()函数优点在于可以格式化输出!

printf的格式控制的完整格式:

% - 0 m.n l或h 格式字符

下面对组成格式说明的各项加以说明:

①%:表示格式说明的起始符号,不可缺少。

②-:有-表示左对齐输出,如省略表示右对齐输出。

③0:有0表示指定空位填0,如省略表示指定空位不填。

④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。

⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

---------------------------------------
格式字符

格式字符用以指定输出项的数据类型和输出格式。

①d格式:用来输出十进制整数。有以下几种用法:

%d:按整型数据的实际长度输出。

%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

%ld:输出长整型数据。

②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。

例:

main() 
{ int a = -1; 
printf("%d, %o", a, a); 
}

运行结果:-1,177777

程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。

③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。

④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。

⑤c格式:输出一个字符。

⑥s格式:用来输出一个串。有几中用法

%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。

%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。

%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。

%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。

⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:

%f:不指定宽度,整数部分全部输出并输出6位小数。

%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。

%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。

⑧e格式:以指数形式输出实数。可用以下形式:

%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。

%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。

⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。

---------------------------------------
关于printf函数的进一步说明:

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:

printf("%f%%", 1.0/3);

输出0.333333%。

---------------------------------------
对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.

对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.

以上这篇深入剖析PHP中printf()函数格式化使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
Jun 21 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
php实现的RSS生成类实例
Apr 23 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
Jul 03 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 PHP
深入理解php printf() 输出格式化的字符串
May 23 #PHP
PHP书写格式详解(必看)
May 23 #PHP
Smarty模板简单配置与使用方法示例
May 23 #PHP
Smarty模板引擎缓存机制详解
May 23 #PHP
Yii2分页的使用及其扩展方法详解
May 23 #PHP
CI框架扩展系统核心类的方法分析
May 23 #PHP
PHP strip_tags保留多个HTML标签的方法
May 22 #PHP
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
改版了网上的一个js操作userdata
2007/04/27 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
Javascript中的高阶函数介绍
2015/03/15 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
python人民币小写转大写辅助工具
2018/06/20 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
露营世界:Camping World
2017/02/02 全球购物
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
政风行风评议工作总结
2014/10/21 职场文书
技术股东合作协议书
2014/12/02 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
Redis Stream类型的使用详解
2021/11/11 Redis
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
如何利用python实现列表嵌套字典取值
2022/06/10 Python
Python可视化神器pyecharts绘制水球图
2022/07/07 Python