php實現金額和中文轉化的方法:1、創建一個php示例文件;2、通過“public function convertamounttocn($amount, $type = 1) {…}”將數值金額轉換為中文大寫金額即可。
本文操作環境:windows7系統,php7.4版,dell g3電腦。
php怎么實現金額和中文的轉化?
php 金額轉為中文大寫
代碼如下:
/ * 將數值金額轉換為中文大寫金額 * @param $amount float 金額(支持到分) * @param $type int 補整類型,0:到角補整;1:到元補整 * @return mixed 中文大寫金額 */ public function convertamounttocn($amount, $type = 1) { // 判斷輸出的金額是否為數字或數字字符串 if(!is_numeric($amount)){ return \”要轉換的金額只能為數字!\”; } // 金額為0,則直接輸出\”零元整\” if($amount == 0) { return \”零元整\”; } // 金額不能為負數 if($amount < 0) { return \”要轉換的金額不能為負數!\”; } // 金額不能超過萬億,即12位 if(strlen($amount) > 12) { return \”要轉換的金額不能為萬億及更高金額!\”; } // 預定義中文轉換的數組 $digital = array(\’零\’, \’壹\’, \’貳\’, \’叁\’, \’肆\’, \’伍\’, \’陸\’, \’柒\’, \’捌\’, \’玖\’); // 預定義單位轉換的數組 $position = array(\’仟\’, \’佰\’, \’拾\’, \’億\’, \’仟\’, \’佰\’, \’拾\’, \’萬\’, \’仟\’, \’佰\’, \’拾\’, \’元\’); // 將金額的數值字符串拆分成數組 $amountarr = explode(\’.\’, $amount); // 將整數位的數值字符串拆分成數組 $integerarr = str_split($amountarr[0], 1); // 將整數部分替換成大寫漢字 $result = \’\’;//前綴 $integerarrlength = count($integerarr); // 整數位數組的長度 $positionlength = count($position); // 單位數組的長度 for($i = 0; $i < $integerarrlength; $i ) { // 如果數值不為0,則正常轉換 if($integerarr[$i] != 0){ $result = $result . $digital[$integerarr[$i]] . $position[$positionlength – $integerarrlength $i]; }else{ // 如果數值為0, 且單位是億,萬,元這三個的時候,則直接顯示單位 if(($positionlength – $integerarrlength $i 1)%4 == 0){ $result = $result . $position[$positionlength – $integerarrlength $i]; } } } // 如果小數位也要轉換 if($type == 0) { // 將小數位的數值字符串拆分成數組 $decimalarr = str_split($amountarr[1], 1); // 將角替換成大寫漢字. 如果為0,則不替換 if($decimalarr[0] != 0){ $result = $result . $digital[$decimalarr[0]] . \’角\’; } // 將分替換成大寫漢字. 如果為0,則不替換 if($decimalarr[1] != 0){ $result = $result . $digital[$decimalarr[1]] . \’分\’; } }else{ $result = $result . \’整\’; } return $result; }
推薦學習:《php視頻教程》
阿里云服務器怎么開始運行選擇域名對網站的重要有影響嗎?有什么作用?萬國數據就北京順義區一大型數據中心項目達成收購協議 命名北京十四號數據中心會員價問題-其他問題之前網站掛馬現在已經處理但是網站在廣西或其他 份不能正常打云服務器鏡像市場怎么取消怎么提交域名備案-其他問題購買云服務器后如何做