PHP实现对数字分隔加千分号的方法


Posted in PHP onMarch 18, 2019

对于较大数字,添加千分号可以方便快速地读出数值。千分号是指从最右边开始,每隔三位加个逗号。这种写法很广泛,来源大概是因为英文中 Thousand,千、million,百万、billion,十亿 都是隔三位的。在这里我们使用php实现数字格式化,数字每三位加逗号的功能函数,具体如下:

number_format

摘自PHP官方文档(PHP 4, PHP 5)

number_format — 以千位分隔符方式格式化一个数字

说明

string number_format ( float$number [, int$decimals = 0 ] )
string number_format ( float$number , int$decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

本函数可以接受1个、2个或者4个参数(注意:不能是3个):

如果只提供第一个参数, number 的小数部分会被去掉 并且每个千位分隔符都是英文小写逗号","

如果提供两个参数, number 将保留小数点后的位数到你设定的值,其余同楼上

如果提供了四个参数, number 将保留decimals 个长度的小数部分, 小数点被替换为 dec_point ,千位分隔符替换为 thousands_sep

参数

number

你要格式化的数字

decimals

要保留的小数位数

dec_point

指定小数点显示的字符

thousands_sep

指定千位分隔符显示的字符      

function num_format($num){
 if(!is_numeric($num)){
 return false;
 }
 $num = explode('.',$num);//把整数和小数分开
 $rl = $num[1];//小数部分的值
 $j = strlen($num[0]) % 3;//整数有多少位
 $sl = substr($num[0], 0, $j);//前面不满三位的数取出来
 $sr = substr($num[0], $j);//后面的满三位的数取出来
 $i = 0;
 while($i <= strlen($sr)){
 $rvalue = $rvalue.','.substr($sr, $i, 3);//三位三位取出再合并,按逗号隔开
 $i = $i + 3;
 }
 $rvalue = $sl.$rvalue;
 $rvalue = substr($rvalue,0,strlen($rvalue)-1);//去掉最后一个逗号
 $rvalue = explode(',',$rvalue);//分解成数组
 if($rvalue[0]==0){
 array_shift($rvalue);//如果第一个元素为0,删除第一个元素
 }
 $rv = $rvalue[0];//前面不满三位的数
 for($i = 1; $i < count($rvalue); $i++){
 $rv = $rv.','.$rvalue[$i];
 }
 if(!empty($rl)){
 $rvalue = $rv.'.'.$rl;//小数不为空,整数和小数合并
 }else{
 $rvalue = $rv;//小数为空,只有整数
 }
 return $rvalue;
}

另外可以使用系统自带的函数 string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] )

echo number_format('169856420');

输出结果将为:169,856,420

echo number_format('1000000',2);

输出结果将为:1,000,000.00

echo number_format('1000000',2,',','.');

输出结果将为:1.000.000,00

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
php文件上传的简单实例
Oct 19 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 PHP
php单例模式示例分享
Feb 12 PHP
php经典算法集锦
Nov 14 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 #PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 #PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 #PHP
PHP标准库(PHP SPL)详解
Mar 16 #PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 #PHP
php生成word并下载代码实例
Mar 15 #PHP
PHP-FPM的配置与优化讲解
Mar 15 #PHP
You might like
php设计模式之单例模式实例分析
2015/02/25 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
js Function类型
2011/12/04 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
python实现对一个完整url进行分割的方法
2015/04/29 Python
Python通过正则表达式选取callback的方法
2015/07/18 Python
Python进阶篇之字典操作总结
2016/11/16 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
python获取引用对象的个数方式
2019/12/20 Python
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
《中华少年》教学反思
2014/02/15 职场文书
企业宣传工作方案
2014/06/02 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
2015年底工作总结范文
2015/05/15 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
Redis入门教程详解
2021/08/30 Redis