這篇文章主要為大家詳細(xì)介紹了使用PHP怎么實(shí)現(xiàn)一個(gè)人民幣大小寫轉(zhuǎn)換函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,發(fā)現(xiàn)的小伙伴們可以參考一下:

具體代碼如下所示:
<?php
header("charset=utf-8;");
function numTrmb($num){
$d = array("零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖");
$e = array('元', '拾', '佰', '仟', '萬', '拾萬', '佰萬', '仟萬', '億', '拾億', '佰億', '仟億');
$p = array('分', '角');
$zheng = "整";
$final = array();
$inwan = 0;//是否有萬
$inyi = 0;//是否有億
$len = 0;//小數(shù)點(diǎn)后的長(zhǎng)度
$y = 0;
$num = round($num, 2);//精確到分
if(strlen($num) > 15){
return "金額太大";
die();
}
if($c = strpos($num, '.')){//有小數(shù)點(diǎn),$c為小數(shù)點(diǎn)前有幾位
$len=strlen($num)-strpos($num,'.')-1;//小數(shù)點(diǎn)后有幾位數(shù)
}else{//無小數(shù)點(diǎn)
$c = strlen($num);
$zheng = '整';
}
for($i = 0; $i < $c; $i++){
$bit_num = substr($num, $i, 1);
if ($bit_num != 0 || substr($num, $i + 1, 1) != 0) {
@$low = $low . $d[$bit_num];
}
if ($bit_num || $i == $c - 1) {
@$low = $low . $e[$c - $i - 1];
}
}
if($len!=1){
for ($j = $len; $j >= 1; $j--) {
$point_num = substr($num, strlen($num) - $j, 1);
@$low = $low . $d[$point_num] . $p[$j - 1];
}
}else{
$point_num = substr($num, strlen($num) - $len, 1);
$low=$low.$d[$point_num].$p[$len];
}
$chinses = str_split($low, 3);//字符串轉(zhuǎn)化為數(shù)組
for ($x = count($chinses) - 1; $x >= 0; $x--) {
if ($inwan == 0 && $chinses[$x] == $e[4]) {//過濾重復(fù)的萬
$final[$y++] = $chinses[$x];
$inwan = 1;
}
if ($inyi == 0 && $chinses[$x] == $e[8]) {//過濾重復(fù)的億
$final[$y++] = $chinses[$x];
$inyi = 1;
$inwan = 0;
}
if ($chinses[$x] != $e[4] && $chinses[$x] !== $e[8]) {
$final[$y++] = $chinses[$x];
}
}
$newstr = (array_reverse($final));
$nstr = join($newstr);
if((substr($num, -2, 1) == '0') && (substr($num, -1) <> 0)){
$nstr = substr($nstr, 0, (strlen($nstr) -6)).'零'. substr($nstr, -6, 6);
}
$nstr=(strpos($nstr,'零角')) ? substr_replace($nstr,"",strpos($nstr,'零角'),6) : $nstr;
return $nstr = (substr($nstr,-3,3)=='元') ? $nstr . $zheng : $nstr;
}
echo numTrmb(965002.65);效果圖:

下面看下php大小寫轉(zhuǎn)換函數(shù)
1.將字符串轉(zhuǎn)換成小寫
strtolower(): 該函數(shù)將傳入的字符串參數(shù)所有的字符都轉(zhuǎn)換成小寫,并以小定形式放回這個(gè)字符串.
例:
<?php $str = "I want To FLY"; $str = strtolower($str); echo $str; ?>
輸出結(jié)果:
i want to fly
2.將字符轉(zhuǎn)成大寫
strtoupper(): 該函數(shù)的作用同strtolower函數(shù)相反,是將傳入的字符參數(shù)的字符全部轉(zhuǎn)換成大
寫,并以大寫的形式返回這個(gè)字符串.用法同strtolowe()一樣.
3.將字符串首字符轉(zhuǎn)換成大寫
usfilst(): 該函數(shù)的作用是將字符串的第一個(gè)字符改成大寫,該函數(shù)返回首字符大寫的字符串.
用法同strtolowe()一樣.
4.將字符串每個(gè)單詞的首字符轉(zhuǎn)換成大寫
ucwords(): 該函數(shù)將傳入的字符串的每個(gè)單詞的首字符變成大寫.如"hello world",經(jīng)過該函數(shù)
處理后,將返回"Hello Word".用法同strtolowe()一樣.
以上就是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編為大家收集整理的使用PHP怎么實(shí)現(xiàn)一個(gè)人民幣大小寫轉(zhuǎn)換函數(shù),如何覺得創(chuàng)新互聯(lián)建站的內(nèi)容還不錯(cuò),歡迎將創(chuàng)新互聯(lián)建站推薦給身邊好友。
文章標(biāo)題:使用PHP怎么實(shí)現(xiàn)一個(gè)人民幣大小寫轉(zhuǎn)換函數(shù)-創(chuàng)新互聯(lián)
URL分享:http://www.chinadenli.net/article32/desepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站收錄、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容