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 相关文章推荐
php 获取完整url地址
Dec 20 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
解析CodeIgniter自定义配置文件
Jun 18 PHP
yii操作cookie实例简介
Jul 09 PHP
深入理解PHP内核(一)
Nov 10 PHP
php实现文件与16进制相互转换的方法示例
Feb 16 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 PHP
php文件上传原理与实现方法详解
Dec 20 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开发文件系统实例讲解
2006/10/09 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
Javascript this指针
2009/07/30 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
JS trim去空格的最佳实践
2011/10/30 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
对python的文件内注释 help注释方法
2018/05/23 Python
python自动化报告的输出用例详解
2018/05/30 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
人民教师的自我评价分享
2014/02/21 职场文书
体育节口号
2014/06/19 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
培训后的感想
2015/08/07 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书