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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 PHP
PHP动态柱状图实现方法
Mar 30 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
YII2 实现多语言配置的方法分享
Jan 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下使用iconv需要注意的问题
2010/11/20 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
动态刷新 dorado树的js代码
2009/06/12 Javascript
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
js控制frameSet示例
2013/09/10 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
js给selected添加options的方法
2015/05/06 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
python实现的简单猜数字游戏
2015/04/04 Python
python3大文件解压和基本操作
2017/12/15 Python
Python常见工厂函数用法示例
2018/03/21 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Django使用rest_framework写出API
2020/05/21 Python
Django视图、传参和forms验证操作
2020/07/15 Python
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
公务员政审材料
2014/12/23 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书