PHP人民幣金額數(shù)字轉(zhuǎn)中文大寫(xiě)的函數(shù)代碼
在網(wǎng)上看到一個(gè)非常有趣的PHP人民幣金額數(shù)字轉(zhuǎn)中文大寫(xiě)的函數(shù),其實(shí)質(zhì)就是數(shù)字轉(zhuǎn)換成中文大寫(xiě),測(cè)試了一下,非常有趣,隨便輸個(gè)數(shù)字,就可以將其大寫(xiě)打印出來(lái),新手朋友們?cè)囈幌掳?,舉一反三,還可以寫(xiě)好多有趣的PHP轉(zhuǎn)換函數(shù)。
<?
function cny($ns) {
static $cnums=array("零","壹","貳","叁","肆","伍","陸","柒","捌","玖"),
$cnyunits=array("圓","角","分"),
$grees=array("拾","佰","仟","萬(wàn)","拾","佰","仟","億");
list($ns1,$ns2)=explode(".",$ns,2);
$ns2=array_filter(array($ns2[1],$ns2[0]));
$ret=array_merge($ns2,array(implode("",_cny_map_unit(str_split($ns1),$grees)),""));
$ret=implode("",array_reverse(_cny_map_unit($ret,$cnyunits)));
return str_replace(array_keys($cnums),$cnums,$ret);
}

function _cny_map_unit($list,$units) {
$ul=count($units);
$xs=array();
foreach (array_reverse($list) as $x) {
$l=count($xs);
if ($x!="0" || !($l%4)) $n=($x=='0'?'':$x).($units[($l-1)%$ul]);
else $n=is_numeric($xs[0][0])?$x:'';
array_unshift($xs,$n);
}
return $xs;
}
?>
使用方法:直接傳遞數(shù)字參數(shù)即可,下面的實(shí)例打印出來(lái)便是數(shù)字大寫(xiě)。輸出:壹萬(wàn)貳仟壹佰貳拾壹圓
<?php
echo cny('12121');
?>
相關(guān)文章
PHP實(shí)現(xiàn)獲取文件后綴名的幾種常用方法
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取文件后綴名的幾種常用方法,通過(guò)三種不同的方法實(shí)例分析了php獲取文件后綴名的實(shí)現(xiàn)技巧,分別通過(guò)字符串、文件屬性及數(shù)組等方式實(shí)現(xiàn)這一功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
windows下開(kāi)發(fā)并編譯PHP擴(kuò)展的方法
開(kāi)發(fā)PHP擴(kuò)展對(duì)于普通程序員來(lái)講可能一直是一件很神秘的工作,其實(shí),只要你對(duì)C語(yǔ)言熟悉,了解了開(kāi)發(fā)PHP擴(kuò)展的步驟和規(guī)則,開(kāi)發(fā)PHP擴(kuò)展也是一件很普通的工作。2011-03-03
一個(gè)php生成16位隨機(jī)數(shù)的代碼(兩種方法)
這篇文章分享一個(gè)php生成16位隨機(jī)數(shù)的代碼,php生成隨機(jī)數(shù)的二種方法,但簡(jiǎn)單,但很實(shí)用,需要的朋友可以參考下2014-09-09
使用PHP和Redis實(shí)現(xiàn)消息隊(duì)列功能
這篇文章主要介紹了如何使用PHP和Redis實(shí)現(xiàn)消息隊(duì)列功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>2024-03-03
php繼承中方法重載(覆蓋)的應(yīng)用場(chǎng)合
這篇文章主要介紹了php繼承中方法重載(覆蓋)的應(yīng)用場(chǎng)合,以實(shí)例形式較為詳細(xì)的分析了重載的用法與對(duì)應(yīng)的適用情況及使用技巧,需要的朋友可以參考下2015-02-02

