首頁  >  文章  >  後端開發  >  php實作數字轉換成中文大小寫的程式碼

php實作數字轉換成中文大小寫的程式碼

WBOY
WBOY原創
2016-07-25 08:56:00840瀏覽
複製程式碼
  1. //chinese_money.PHP
  2. //Changing Arab Money Num to Chinese Money Num
  3. /*
  4. Funcese Moneys List:
  5. Chinese_Money_Max()
  6. 小數點前
  7. 此函數可以單獨拿出用於將阿拉伯數字轉為中文數字(大小寫可選,默認為大寫)
  8. 僅限整數(正負皆可)
  9. Chinese_Money_Min()
  10. 處理小數點後
  11. Chinese_Money()
  12. by bbs.it-home.org
  13. */
  14. function Chinese_Money_Max($i,$s=1){
  15. $c_digIT_min = array("零","十","百","千","萬","億","兆") ;
  16. $c_num_min = array("零","一","二","三","四","五","六","七","八","九","十");
  17. $c_digIT_max = array("零","拾","佰","仟","萬","億","兆");
  18. $c_num_max = array("零","壹","貳","叁","肆","伍","陸","柒","捌","玖","拾");
  19. if($s==1){
  20. $c_digIT = $c_digIT_max;
  21. $c_num = $c_num_max;
  22. }else{
  23. $c_digIT = $c_digIT_minc_digIT_min; = $c_num_min;
  24. }
  25. if($i return "負".Chinese_Money_Max(-$i);
  26. //return "-".Chinese_Money_Max(-$i);
  27. //return "-".Chinese_Money_Max(-$ i);
  28. if ($i return $c_num[$i];
  29. if ($i return $c_num[1].$c_digIT[1] . $c_num[$i - 10];
  30. if ($i if ($i % 10)
  31. return $c_num[$i / 10] . $c_digIT[1] . $ c_num[$i % 10];
  32. else
  33. return $c_num[$i / 10] . $c_digIT[1];
  34. }
  35. if ($i if🎜> if ($i if ($i % 100 == 0)
  36. return $c_num[$i / 100] . $c_digIT[2];
  37. else if ($i % 100 return $c_num[$i / 100] . $c_digIT[2] . $c_num[0] . Chinese_Money_Max($i % 100);
  38. else if ($i % 100 return $c_num[$i / 100] . $c_digIT[2] . $c_num[1] . Chinese_Money_Max($i % 100);
  39. else
  40. return $c_num[$i / 100] . $c_digIT[2] .ese Chin_Money_Max($i) ;
  41. }
  42. if ($i if ($i % 1000 == 0)
  43. return $c_num[$i / 1000] . $c_digIT[3];
  44. else if ($i % 1000 return $c_num[$i / 1000] . $c_digIT[3] . $c_num[0] . Chinese_Money_Max($i % 1000); > return $c_num[$i / 1000] . $c_digIT[3] . Chinese_Money_Max($i % 1000);
  45. }
  46. if ($i if ($i0% = if ($ = 0)
  47. return Chinese_Money_Max($i / 10000) . $c_digIT[4];
  48. else if ($i % 10000 return Chinese_Money_1($i / $. ] . $c_num[0] 。
  49. if ($i if ($i % 100000000 == 0)
  50. return Chinese_Money_Max($i / 1000000000) . $. % 100000000 return Chinese_Money_Max($i / 100000000) . $c_digIT[5] . $c_num[0] . Chinese_Money_Max($i Chin% 10005; ($i / 100000000) . $c_digIT[5] . Chinese_Money_Max($i % 100000000);
  51. }
  52. if ($i % 1000000000000 == 0) else if ($i % 1000000000000 return Chinese_Money_Max($i / 1000000000000) 。 0000);
  53. else
  54. return Chinese_Money_Max($i / 100000000000) . $c_digIT[6] . Chinese_Money_Max($i % 1000000000000);
  55. num = array("零","一","二","三","四","五","六","七","八","九","十");
  56. if($a return $c_num[0] . "角" . $c_num[$a] . "分";
  57. else if($a%10 == 0)
  58. return $c_num[$a/10] . "角" . $c_num[0] . "分";
  59. else
  60. return $c_num[floor($a/10)] . "角" . $c_num[ $a%10] ."分";
  61. }
  62. /*小數點後兩位*/
  63. function Chinese_Num_Min($a){
  64. $c_num = array("零","一","二","三","四","五","六","七","八","九","十");
  65. if($a return $c_num[0] . $c_num[$a] ;
  66. else if($a%10 == 0)
  67. return $c_num[$a/10] . $c_num[0] ;
  68. else
  69. return $c_num[floor($a/ 10)] . $c_num[$a%10];
  70. }
  71. function Chinese_Money($i){
  72. $j=Floor($i);
  73. $xx =($i-$j)*100;
  74. //return $x;
  75. //return Chinese_Money_Max($j)."元".Chinese_Money_Min($x)."整";
  76. return Chinese_Money_Max($j,'0')."點".Chinese_Num_Min($x);
  77. }
  78. //The Following Code is Testing The Functions:
  79. /*
  80. $e_money =332123.32;
  81. echo Chinese_Money($e_money);
  82. */
  83. ?>
複製程式碼
複製程式碼


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn