在开发项目的时候,咱们有时候会碰到人民币转汉字大写的小需求。在此个人分享一下本身写的一个小函数,欢迎有需求的朋友尽情享用。函数
/** * 人民币金额转大写 * @param int $rmb 人民币金额 * @param int $maxLength 显示长度 * @return string */ function convertRmbToUpper($rmb = 0,$maxLength = 0){ //大写符号 $upperSymbol = array( '0' => '零', '1' => '壹', '2' => '贰', '3' => '叁', '4' => '肆', '5' => '伍', '6' => '陆', '7' => '柒', '8' => '捌', '9' => '玖' ); //单位符号 $unitSymbol = array( '-2' => '分', '-1' => '角', '0' => '整', '1' => '元', '2' => '拾', '3' => '佰', '4' => '仟', '5' => '万', '6' => '拾', '7' => '佰', '8' => '仟', '9' => '亿', ); $upperRmb = ''; if(empty($maxLength)){ $maxLength = 0; } $rmbSplit = explode('.',$rmb); //整数部分 $length = strlen($rmbSplit[0]); if($length > $maxLength){ $maxLength = $length; } for($i=0;$i<$maxLength;$i++){ if($i < $length){ $char = substr($rmbSplit[0],$i,1); $unitChar = $unitSymbol[$length-$i]; $upperRmb .= $upperSymbol[$char].$unitChar; }else{ $upperRmb = $unitSymbol[$i+1] . $upperRmb; } } //小数部分 if(!isset($rmbSplit[1])){ //若是没有小部分,默认填充2位小数 $rmbSplit[1] = '00'; } $length = strlen($rmbSplit[1]); for($i=0;$i<$length;$i++){ $char = substr($rmbSplit[1],$i,1); $unitChar = $unitSymbol[-($i+1)]; $upperRmb .= $upperSymbol[$char].$unitChar; } return $upperRmb; }
若有疑问,欢迎加入QQ群:591528130(互联网项目帮) ,一块儿讨论交流学习。学习
原创做者:动雪飞飞,QQ:282130106 。开发
若有转载,敬请注明原创做者与出处,谢谢string