php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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]] ):
例子:
1
|
echo
number_format(
'169856420'
);
|
输出结果将为:169,856,420
1
|
echo
number_format(
'1000000'
,2);
|
输出结果将为:1,000,000.00
1
|
echo
number_format(
'1000000'
,2,
','
,
'.'
);
|
输出结果将为:1.000.000,00
以上就是php实现数字每三位加逗号的代码,刚开始大家看到题目是不是没有思路,小编也是的,希望通过这篇文章可以给大家一些启发。