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

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

PHP中文网
풀어 주다: 2016-05-25 17:14:25
원래의
1182명이 탐색했습니다.

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
로그인 후 복사

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿