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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
关于zend studio 出现乱码问题的总结
Jun 23 PHP
PHP Curl多线程原理实例详解
Nov 06 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
php递归创建目录的方法
Feb 02 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
php 函数使用可变数量的参数方法
May 02 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
MySQL中create table语句的基本语法是
2007/01/15 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
详解python 发送邮件实例代码
2016/12/22 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python在非root权限下的安装方法
2018/01/23 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python动态文本进度条的实例代码
2020/01/22 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
Python 如何创建一个线程池
2020/07/28 Python
化学相关工作求职信
2013/10/02 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
介绍信的格式
2015/01/30 职场文书
台风停课通知
2015/04/24 职场文书