Heim  >  Artikel  >  Backend-Entwicklung  >  php 数目字逗号分节

php 数目字逗号分节

WBOY
WBOYOriginal
2016-06-13 13:20:091064Durchsuche

php 数字逗号分节~
转自:http://www.phpernote.com/article-15-11.html
系统自带的函数 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;
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn