Heim >php教程 >PHP源码 >把数字金额转换成中文大写数字的函数

把数字金额转换成中文大写数字的函数

PHP中文网
PHP中文网Original
2016-05-25 17:14:251178Durchsuche

php代码

//把数字金额转换成中文大写数字的函数
function num2rmb ($num){
	$c1="零壹贰叁肆伍陆柒捌玖";
	$c2="分角元拾佰仟万拾佰仟亿";

	$num=round($num,2);
	$num=$num*100;
	$NewNum = ceil($num);
	if(strlen($NewNum)>10){
	return "金额太大";
	}

	$i=0;
	$c="";

	while (1){
	if($i==0){
	$n=substr($num,strlen($num)-1,1);
	}else{
	$n=$num %10;
	}

	$p1=substr($c1,2*$n,2);

	$p2=substr($c2,2*$i,2);
	if($n!='0' || ($n=='0' &&($p2=='亿' || $p2=='万' || $p2=='元' ))){
	$c=$p1.$p2.$c;
	}else{
	$c=$p1.$c;
	}

	$i=$i+1;
	$num=$num/10;
	$num=(int)$num;

	if($num==0){
	break;
	}
	}//end of while| here, we got a chinese string with some useless character

	//we chop out the useless characters to form the correct output
	$j = 0;
	$slen=strlen($c);
	while ($j< $slen) {
	$m = substr($c,$j,4);

	if ($m==&#39;零元&#39; || $m==&#39;零万&#39; || $m==&#39;零亿&#39; || $m==&#39;零零&#39;){
	$left=substr($c,0,$j);
	$right=substr($c,$j+2);
	$c = $left.$right;
	$j = $j-2;
	$slen = $slen-2;
	}
	$j=$j+2;
	}

	if(substr($c,strlen($c)-2,2)==&#39;零&#39;){
	$c=substr($c,0,strlen($c)-2);
	} // if there is a &#39;0&#39; on the end , chop it out

	return $c;
}// end of function

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
Vorheriger Artikel:php页面执行时间Nächster Artikel:简单的php数组转成json格式