今天就跟大家聊聊有關(guān)如何使用php實(shí)現(xiàn)數(shù)字轉(zhuǎn)中文,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
大連網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
php數(shù)字轉(zhuǎn)中文的實(shí)現(xiàn)方法:首先創(chuàng)建一個(gè)PHP示例文件;然后定義一個(gè)“cny”方法;接著在方法體內(nèi)實(shí)現(xiàn)將數(shù)字拆分成整數(shù)小數(shù),并分別賦值給變量;最后調(diào)用“cny”方法并輸出轉(zhuǎn)換結(jié)果即可。
在做程序的時(shí)候,我們會(huì)遇到要把數(shù)字的錢數(shù)轉(zhuǎn)為中文的大寫錢數(shù)
方法
function cny($money) { $cnums=array("零","壹","貳","叁","肆","伍","陸","柒","捌","玖"); $cnyunits=array("圓","角","分"); $grees=array("拾","佰","仟","萬","拾","佰","仟","億"); if(strpos($money,'.') !== false){ //拆分整數(shù)小數(shù) 分別賦值給變量 list($int,$dec)=explode(".",$money,2); }else{ list($int,$dec)=[$money,0]; } $dec=array_filter(array($dec[1],$dec[0])); //過濾分?jǐn)?shù) $ret=array_merge($dec,array(implode("",cny_to_unit(str_split($int),$grees)),"")); //先處理單位 $ret=implode("",array_reverse(cny_to_unit($ret,$cnyunits))); return str_replace(array_keys($cnums),$cnums,$ret); }
function cny_to_unit($list,$units) { $ul=count($units); $xs=array(); foreach (array_reverse($list) as $x) { /反轉(zhuǎn)數(shù)組便于處理 $l=count($xs); if ($x!="0" || !($l%4)) { if ($l != 0) { $n=($x=='0'?'':$x).($units[($l-1)%$ul]); }else{ $n=($x=='0'?'':$x); } } else { $n=is_numeric($xs[0][0])?$x:''; } array_unshift($xs,$n); } return $xs; }
調(diào)用函數(shù)
echo cny('120');
調(diào)用函數(shù)
echo cny('120.18');
小編在網(wǎng)站上找到很多的栗子,覺得這個(gè)是代碼最少的,但是我在用的過程中,會(huì)報(bào)數(shù)組溢出等錯(cuò)誤,所以現(xiàn)在是小編改造過的代碼。大家可以靈活運(yùn)用
看完上述內(nèi)容,你們對如何使用php實(shí)現(xiàn)數(shù)字轉(zhuǎn)中文有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。