PHP 實(shí)現(xiàn)人民幣小寫轉(zhuǎn)換成大寫的方法及大小寫轉(zhuǎn)換函數(shù)
下面一段代碼給大家分享php實(shí)現(xiàn)人民幣大小寫轉(zhuǎn)換的方法,具體代碼如下所示:
<?php
header("charset=utf-8;");
function numTrmb($num){
$d = array("零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖");
$e = array('元', '拾', '佰', '仟', '萬(wàn)', '拾萬(wàn)', '佰萬(wàn)', '仟萬(wàn)', '億', '拾億', '佰億', '仟億');
$p = array('分', '角');
$zheng = "整";
$final = array();
$inwan = 0;//是否有萬(wàn)
$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{//無(wú)小數(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]) {//過(guò)濾重復(fù)的萬(wàn)
$final[$y++] = $chinses[$x];
$inwan = 1;
}
if ($inyi == 0 && $chinses[$x] == $e[8]) {//過(guò)濾重復(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)過(guò)該函數(shù)
處理后,將返回"Hello Word".用法同strtolowe()一樣.
總結(jié)
以上所述是小編給大家介紹的PHP 實(shí)現(xiàn)人民幣小寫轉(zhuǎn)換成大寫的方法及大小寫轉(zhuǎn)換函數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
thinkphp實(shí)現(xiàn)上一篇與下一篇的方法
這篇文章主要介紹了thinkphp實(shí)現(xiàn)上一篇與下一篇的方法,以實(shí)例形式對(duì)比分析了兩種不同的實(shí)現(xiàn)方法供大家選擇,方法二在方法一的基礎(chǔ)上增加了判斷的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12
制作個(gè)性化的WordPress登陸界面的實(shí)例教程
隨著WordPress多用戶功能的日益完善,也有越來(lái)越多的開發(fā)者開始著手于WordPress登陸界面部分的自定義制作,接下來(lái)我們就來(lái)看制作個(gè)性化的WordPress登陸界面的實(shí)例教程2016-05-05
Thinkphp集成抖音SDK的實(shí)現(xiàn)方法
這篇文章主要介紹了Thinkphp集成抖音SDK的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

