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调用mysql存储过程
Feb 14 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
PHP静态文件生成类实例
Nov 29 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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 正则学习实例
2008/07/30 PHP
php strcmp使用说明
2010/04/22 PHP
10 个经典PHP函数
2013/10/17 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python Matplotlib库入门指南
2015/05/18 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
物业经理求职自我评价
2013/09/22 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
2014年度考核工作总结
2014/12/24 职场文书
颐和园导游词400字
2015/01/30 职场文书
检讨书怎么写?
2019/06/21 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
python实现简易自习室座位预约系统
2021/06/30 Python
Go归并排序算法的实现方法
2022/04/06 Golang