PHP 實現(xiàn)人民幣小寫轉換成大寫的方法及大小寫轉換函數(shù)
下面一段代碼給大家分享php實現(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ù)點后的長度
$y = 0;
$num = round($num, 2);//精確到分
if(strlen($num) > 15){
return "金額太大";
die();
}
if($c = strpos($num, '.')){//有小數(shù)點,$c為小數(shù)點前有幾位
$len=strlen($num)-strpos($num,'.')-1;//小數(shù)點后有幾位數(shù)
}else{//無小數(shù)點
$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);//字符串轉化為數(shù)組
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);
效果圖:

下面看下php大小寫轉換函數(shù)
1.將字符串轉換成小寫
strtolower(): 該函數(shù)將傳入的字符串參數(shù)所有的字符都轉換成小寫,并以小定形式放回這個字符串.
例:
<?php $str = "I want To FLY"; $str = strtolower($str); echo $str; ?>
輸出結果:
i want to fly
2.將字符轉成大寫
strtoupper(): 該函數(shù)的作用同strtolower函數(shù)相反,是將傳入的字符參數(shù)的字符全部轉換成大
寫,并以大寫的形式返回這個字符串.用法同strtolowe()一樣.
3.將字符串首字符轉換成大寫
usfilst(): 該函數(shù)的作用是將字符串的第一個字符改成大寫,該函數(shù)返回首字符大寫的字符串.
用法同strtolowe()一樣.
4.將字符串每個單詞的首字符轉換成大寫
ucwords(): 該函數(shù)將傳入的字符串的每個單詞的首字符變成大寫.如"hello world",經(jīng)過該函數(shù)
處理后,將返回"Hello Word".用法同strtolowe()一樣.
總結
以上所述是小編給大家介紹的PHP 實現(xiàn)人民幣小寫轉換成大寫的方法及大小寫轉換函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
laradock環(huán)境docker-compose操作詳解
在本篇文章中小編給大家整理的是關于laradock環(huán)境docker-compose操作的相關知識點內(nèi)容,有需要的朋友們參考學習下。2019-07-07
PHP 7安裝使用體驗之性能大提升,兼容性強,擴展支持不夠(升級PHP要謹慎)
這篇文章主要介紹了PHP 7安裝使用體驗之性能大提升,兼容性強,擴展支持不夠(升級PHP要謹慎),非常具有實用價值,需要的朋友可以參考下2017-07-07
Yii2使用小技巧之通過 Composer 添加 FontAwesome 字體資源
前天幫同事改個十年前的網(wǎng)站 bug,頁面上一堆 include require 不禁讓人抱頭痛哭??吹?V2EX 上的討論說,寫 PHP 不用框架等同于耍流氓。Yii Framework 是我使用了 2 年多的 PHP 框架,器大活好,皮實耐操。 Yii2 還在 Beta 中,不過不影響拿來預研。2014-06-06
Bootstrap+PHP實現(xiàn)多圖上傳功能實例詳解
這篇文章主要介紹了Bootstrap+PHP實現(xiàn)多圖上傳功能實例詳解,本文圖片加實例相結合的形式給大家介紹的非常詳細,需要的朋友可以參考下2018-04-04
Laravel5.* 打印出執(zhí)行的sql語句的方法
本篇文章主要介紹了Laravel5.* 打印出執(zhí)行的sql語句的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07

