PHP实现数字补零功能的2个函数介绍


Posted in PHP onMay 12, 2014

在PHP中至少有两个函数能够帮助我们快速实现数字补零:
首先是PHP str_pad函数:

#str_pad — 使用另一个字符串填充字符串为指定长度

顾名思义这个函数是针对字符串,对指定的字符串填补任何其它的字符串
str_pad参数说明:
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
#常用参数说明:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)

其中填补后的长度必须是个正整数,填补位置有三个选项,
左边:STR_PAD_LEFT
右边:STR_PAD_RIGHT
两端:STR_PAD_BOTH
实例展示:
echo str_pad(1,8,"0",STR_PAD_LEFT);
#结果:00000001
echo str_pad(1,8,"0",STR_PAD_RIGHT);
#结果:10000000
echo str_pad(1,8,"0",STR_PAD_BOTH);
#结果:00010000

在上边的例子中值得注意的一个细节是,如果填补的位数是个奇数,例如例三中填补了7个0,右边优先。

下面再看下补零的另外一种方法:
PHP sprintf函数:

#sprintf — 返回一个格式化字符串

这个函数用起来比较灵活,有待学者们深挖,这里主要讲实现数值左边补零(或者在小数点后补零)的处理方式;
先看左边补零
echo sprintf("%05d",1);
# %05d的意思:用一个5位数的数字格式化后边的参数,如果不足5位就补零
# 运行结果是00001

再看小数点后补零
echo sprintf("%01.3f",1);
# %01.3f的意思:用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数
# 运行结果是:1.000

另外还可以自己编写一个自定义函数进行处理;
编写代码各有所优也有所劣,大家可以任选适合的;

注:sprintf能够保证不至于误操作把1补成1000000,str_pad可以保证想补啥补啥。

PHP 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
使用数据库保存session的方法
Oct 09 PHP
dedecms模板标签代码官方参考
Mar 17 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
解读PHP中上传文件的处理问题
May 29 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
Feb 06 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
yii2的restful api路由实例详解
May 14 PHP
PHP goto语句用法实例
Aug 06 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 #PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 #PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 #PHP
你可能不知道PHP get_meta_tags()函数
May 12 #PHP
PHP函数getenv简介和使用实例
May 12 #PHP
PHP写的资源下载防盗链类分享
May 12 #PHP
php结合ajax实现赞、顶、踩功能实例
May 12 #PHP
You might like
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
Python类的专用方法实例分析
2015/01/09 Python
Python扩展内置类型详解
2018/03/26 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
python中Mako库实例用法
2020/12/31 Python
数字漫画:comiXology
2020/06/13 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
管理部部长岗位职责
2013/12/05 职场文书
优秀交警事迹材料
2014/01/26 职场文书
致百米运动员广播稿
2014/01/29 职场文书
道德模范先进事迹
2014/02/14 职场文书
考博专家推荐信
2014/05/10 职场文书
捐款倡议书怎么写
2014/05/13 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
给老婆的道歉信
2015/01/20 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android