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

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

PHP中文网
Release: 2016-05-25 17:14:25
Original
1193 people have browsed it

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
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template