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 相关文章推荐
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
非常重要的php正则表达式详解
Jan 04 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
php5与php7的区别点总结
Oct 11 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
写一个用户在线显示的程序
2006/10/09 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
俄罗斯女装店:12storeez
2019/10/25 全球购物
大学生个人自荐信样本
2014/03/02 职场文书
青春奉献演讲稿
2014/05/08 职场文书
治庸问责心得体会
2014/09/12 职场文书
教师工作失职检讨书
2014/09/18 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
Python PIL按比例裁剪图片
2022/05/11 Python