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 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
学习php笔记 字符串处理
Oct 19 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
php导入导出excel实例
Oct 25 PHP
php设计模式之简单工厂模式详解
Sep 04 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
php强制用户转向www域名的方法
Jun 19 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 19 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
js复制到剪切板的实例方法
2013/06/28 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
Python使用struct处理二进制的实例详解
2017/09/11 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
实践Vim配置python开发环境
2018/07/02 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
Python求凸包及多边形面积教程
2020/04/12 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
销售高级职员求职信
2013/10/29 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
工程质量月活动方案
2014/02/19 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
绩效考核实施方案
2014/03/18 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
前台岗位职责
2015/02/13 职场文书
工作自我评价范文
2015/03/05 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
《假如》教学反思
2016/02/17 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
JS ES6异步解决方案
2021/04/29 Javascript
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
MySQL 字符集 character
2022/05/04 MySQL