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目录导航文件代码
Oct 09 PHP
PHP配置文件中最常用四个ini函数
Mar 19 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
PHP的基本常识小结
Jul 05 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
php操作(删除,提取,增加)zip文件方法详解
Mar 12 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
PHP sdk实现在线打包代码示例
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
星际争霸任务指南——人族
2020/03/04 星际争霸
推荐文章系统(一)
2006/10/09 PHP
sql注入与转义的php函数代码
2013/06/17 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
Javascript 解疑
2009/11/11 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
基于jquery实现轮播特效
2016/04/22 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
Python深入学习之装饰器
2014/08/31 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
国际经济贸易专业推荐信
2013/11/06 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
工厂保洁员岗位职责
2013/12/04 职场文书
党员学习十八大感想
2014/01/17 职场文书
个人欠款担保书
2014/05/20 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
国庆节慰问信
2015/02/15 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
2019银行竞聘书
2019/06/21 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电