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在线打包程序源码
Jul 27 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
PHP技术开发技巧分享
Mar 23 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
Nov 29 PHP
Php中文件下载功能实现超详细流程分析
Jun 13 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 PHP
PHP中copy on write写时复制机制介绍
May 13 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
php读取mysql的简单实例
2014/01/15 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
js控制div及网页相关属性的代码
2009/12/19 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
详解Python中的array数组模块相关使用
2016/07/05 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
Random 在 Python 中的使用方法
2018/08/09 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
学校办公室主任职责
2013/12/27 职场文书
大学军训感言300字
2014/03/09 职场文书
工作态度检讨书范文
2015/05/06 职场文书
复兴之路观后感
2015/06/02 职场文书