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 相关文章推荐
ThinkPHP验证码使用简明教程
Mar 05 PHP
PHP实现多图片上传类实例
Jul 26 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
php判断电子邮件是否正确方法
Dec 04 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
Feb 25 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
java解析json方法总结
May 16 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
python抓取网页图片并放到指定文件夹
2014/04/24 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
怎样让char类型的东西转换成int类型
2013/12/09 面试题
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
会计专业推荐信
2013/10/29 职场文书
三八妇女节活动总结
2014/05/04 职场文书
党建目标管理责任书
2014/07/25 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
亲属关系公证书样本
2015/01/23 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers