php的sprintf函数的用法 控制浮点数格式


Posted in PHP onFebruary 14, 2014

控制浮点数打印格式

浮点数的打印和格式控制是sprintf 的一大常用功能,浮点数使用格式符”%f”控制,默认保留小数点后6 位数字,比如:

sprintf("%f", 3.1415926); //结果:"3.141593"

但,有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表示打印数字的整体宽度,n 表示小数点后的位数。比如:

sprintf(" %9.3f", 3.1415926); //右对齐:位数不够用空格补全。结果:"    3.142"
sprintf(" %-9.3f", 3.1415926); //左对齐:位数不够用空格补全。结果:"3.142    "
sprintf(" %.3f", 3.1415926); //不指定总宽度,结果:"3.142"

注意一个问题

$num = 100;
sprintf("%.2f", $num );
sprintf("%.2f", (double)$num);

上面的两个结果真的一样吗?虽然看起来是一样的,但是下面的原因,可能会有所启发.
原因是:参数压栈时调用者并不知道跟num相对应的格式控制符是个”%f”。而函数执行时函数本身则并不知道当年被压入栈里的是个整数,于是可怜的保存整数$num的那4个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了。
PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
PHP日期时间函数的高级应用技巧
May 16 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
php页面缓存方法小结
Jan 10 PHP
php实现随机显示图片方法汇总
May 21 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
php中namespace及use用法分析
Dec 06 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 #PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 #PHP
PHP COOKIE及时生效的方法介绍
Feb 14 #PHP
php递归使用示例(php递归函数)
Feb 14 #PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 #PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 #PHP
php中simplexml_load_string使用实例分享
Feb 13 #PHP
You might like
大师制作的中短波矿石收音机
2020/04/02 无线电
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
巧用canvas
2017/01/21 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
分享一个简单的python读写文件脚本
2017/11/25 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
pycharm配置git(图文教程)
2019/08/16 Python
Python sep参数使用方法详解
2020/02/12 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
妇产医师自荐信
2014/01/29 职场文书
六年级学生评语
2014/04/22 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2014年老干部工作总结
2014/11/21 职场文书
大学推普周活动总结
2015/05/07 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers