对于较大数字,添加千分号可以方便快速地读出数值。千分号是指从最右边开始,每隔三位加个逗号。这种写法很广泛,来源大概是因为英文中 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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接
本文向大家介绍JS基于正则实现数字千分位用逗号分隔的方法,包括了JS基于正则实现数字千分位用逗号分隔的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS基于正则实现数字千分位用逗号分隔的方法。分享给大家供大家参考,具体如下: 运行结果:222,122,122.68 PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: htt
本文向大家介绍Javascript 正则表达式实现为数字添加千位分隔符,包括了Javascript 正则表达式实现为数字添加千位分隔符的使用技巧和注意事项,需要的朋友参考一下 最近在网上有看到使用js来实现数字的千位分隔符的面试(笔试)题,所以就自己写了一个利用“正则+replace”来实现的方法: 支持正负号匹配,小数点区分,如有错误,希望大大们指出:-D 附上一个其他网友的实现方法 以上就
我试图验证数字1-8的逗号分隔列表。
我试图将两个连接在一起的术语分隔成逗号分隔的带引号的值。 使用此代码: 用这个输出 我目前得到一个数组,看起来像 作为一个数组,我希望得到的是 这可能是世界上最容易解决的问题,但是我花了几个小时浏览StockOverflow、WordPress论坛和PHP网站,出于某种原因,无法准确地解决这个问题。我已经接近并获得了两个术语的引号,但不是双引号,并且为了使脚本/插件工作,它必须是双引号。 请帮助一
本文向大家介绍JS数字千分位格式化实现方法总结,包括了JS数字千分位格式化实现方法总结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS数字千分位格式化实现方法。分享给大家供大家参考,具体如下: 用js实现如下功能,将给定的数字转化成千分位的格式,如把“10000”转化成“10,000”,并考虑到性能方面的因素。 一.首先想到的办法,将数字转换为字符串(toString())再打散成数组
问题内容: 我有一个像 我想把它分成那些字符串 如果我简单地打电话给我,那么在修剪之后我会得到不同的结果,因为在某些字符串中,例如,仍然有一个逗号。但我不想放在方括号中。有解决这个问题的优雅方法吗? 问题答案: 假设和没有嵌套和未转义。您可以使用以下方式进行拆分: 正则演示 如果逗号后面没有非圆括号和,则将匹配逗号,从而忽略和中的逗号。