在開發項目的時候,咱們有時候會碰到人民幣轉漢字大寫的小需求。在此個人分享一下本身寫的一個小函數,歡迎有需求的朋友盡情享用。函數
/** * 人民幣金額轉大寫 * @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