溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHP怎么實(shí)現(xiàn)一個(gè)人民幣大小寫轉(zhuǎn)換函數(shù)

發(fā)布時(shí)間:2021-02-25 15:16:47 來源:億速云 閱讀:129 作者:戴恩恩 欄目:開發(fā)技術(shù)

這篇文章主要為大家詳細(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怎么實(shí)現(xiàn)一個(gè)人民幣大小寫轉(zhuǎn)換函數(shù)

下面看下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()一樣.

以上就是億速云小編為大家收集整理的使用PHP怎么實(shí)現(xiàn)一個(gè)人民幣大小寫轉(zhuǎn)換函數(shù),如何覺得億速云網(wǎng)站的內(nèi)容還不錯(cuò),歡迎將億速云網(wǎng)站推薦給身邊好友。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI