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学习之 数组声明
Jun 09 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
php代码架构的八点注意事项
Jan 25 PHP
PHP中header用法小结
May 23 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
Yii 框架使用Forms操作详解
May 18 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
JAVA/JSP学习系列之七
2006/10/09 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php获取mysql字段名称和其它信息的例子
2014/04/14 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
jQuery each()方法的使用方法
2010/03/18 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
python绘制随机网络图形示例
2019/11/21 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
公证委托书大全
2014/04/04 职场文书
春节请假条
2014/04/11 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书