下面一段代碼給大家分享php實(shí)現(xiàn)人民幣大小寫(xiě)轉(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大小寫(xiě)轉(zhuǎn)換函數(shù)
1.將字符串轉(zhuǎn)換成小寫(xiě)
strtolower(): 該函數(shù)將傳入的字符串參數(shù)所有的字符都轉(zhuǎn)換成小寫(xiě),并以小定形式放回這個(gè)字符串.
例:
?php
$str = "I want To FLY";
$str = strtolower($str);
echo $str;
?>
輸出結(jié)果:
2.將字符轉(zhuǎn)成大寫(xiě)
strtoupper(): 該函數(shù)的作用同strtolower函數(shù)相反,是將傳入的字符參數(shù)的字符全部轉(zhuǎn)換成大
寫(xiě),并以大寫(xiě)的形式返回這個(gè)字符串.用法同strtolowe()一樣.
3.將字符串首字符轉(zhuǎn)換成大寫(xiě)
usfilst(): 該函數(shù)的作用是將字符串的第一個(gè)字符改成大寫(xiě),該函數(shù)返回首字符大寫(xiě)的字符串.
用法同strtolowe()一樣.
4.將字符串每個(gè)單詞的首字符轉(zhuǎn)換成大寫(xiě)
ucwords(): 該函數(shù)將傳入的字符串的每個(gè)單詞的首字符變成大寫(xiě).如"hello world",經(jīng)過(guò)該函數(shù)
處理后,將返回"Hello Word".用法同strtolowe()一樣.
總結(jié)
以上所述是小編給大家介紹的PHP 實(shí)現(xiàn)人民幣小寫(xiě)轉(zhuǎn)換成大寫(xiě)的方法及大小寫(xiě)轉(zhuǎn)換函數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- PHP隨機(jī)字符串生成代碼(包括大小寫(xiě)字母)
- PHP stristr() 函數(shù)(不區(qū)分大小寫(xiě)的字符串查找)
- PHP將字符串首字母大小寫(xiě)轉(zhuǎn)換的實(shí)例
- PHP字符串word末字符實(shí)現(xiàn)大小寫(xiě)互換的方法
- PHP英文字母大小寫(xiě)轉(zhuǎn)換函數(shù)小結(jié)
- php大小寫(xiě)轉(zhuǎn)換函數(shù)(strtolower、strtoupper)用法介紹
- php根據(jù)操作系統(tǒng)轉(zhuǎn)換文件名大小寫(xiě)的方法
- PHP實(shí)現(xiàn)字符串大小寫(xiě)轉(zhuǎn)函數(shù)的功能實(shí)例