600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > PHP数字格式化 每三位逗号分隔数字 可以保留小数

PHP数字格式化 每三位逗号分隔数字 可以保留小数

时间:2023-11-13 13:58:11

相关推荐

PHP数字格式化 每三位逗号分隔数字 可以保留小数

在报价的时候为了给浏览者更清晰明确的数字,所以需要用到数字格式化,有两种方法,一种自己写函数,另一种当然是系统自带的,其实我更喜欢系统自带的。

先来系统简单的:

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

再看写的函数:

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;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。