?php
header("charset=utf-8;");
function numTrmb($num){
$d = array("零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖");
$e = array('元', '拾', '佰', '仟', '萬', '拾萬', '佰萬', '仟萬', '億', '拾億', '佰億', '仟億');
$p = array('分', '角');
$zheng = "整";
$final = array();
$inwan = 0;//是否有萬
$inyi = 0;//是否有億
$len = 0;//小數點后的長度
$y = 0;
$num = round($num, 2);//精確到分
if(strlen($num) > 15){
return "金額太大";
die();
}
if($c = strpos($num, '.')){//有小數點,$c為小數點前有幾位
$len=strlen($num)-strpos($num,'.')-1;//小數點后有幾位數
}else{//無小數點
$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);//字符串轉化為數組
for ($x = count($chinses) - 1; $x >= 0; $x--) {
if ($inwan == 0 $chinses[$x] == $e[4]) {//過濾重復的萬
$final[$y++] = $chinses[$x];
$inwan = 1;
}
if ($inyi == 0 $chinses[$x] == $e[8]) {//過濾重復的億
$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);
strtolower(): 該函數將傳入的字符串參數所有的字符都轉換成小寫,并以小定形式放回這個字符串.
寫,并以大寫的形式返回這個字符串.用法同strtolowe()一樣.
usfilst(): 該函數的作用是將字符串的第一個字符改成大寫,該函數返回首字符大寫的字符串.
用法同strtolowe()一樣.
處理后,將返回"Hello Word".用法同strtolowe()一樣.
以上所述是小編給大家介紹的PHP 實現人民幣小寫轉換成大寫的方法及大小寫轉換函數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!