金額轉中文大寫(一)

 在打印訂單的時候,若是是貨到付款,那麼可能就須要中文大寫的金額了,這個EMS是必須的!ide

可是ecshop並無這樣的功能,怎麼辦呢?優化

只好本身寫了一個,可能存在大量Bug,求大師幫忙優化!謝謝!spa

  
  
  
  
  1. function nature2zh($price
  2.       $str = ''
  3.       $arr_big5 = array('零','壹','貳','叄','肆','伍','陸','柒','捌','玖'); 
  4.       $arr_unit = array('''''拾''佰''仟''萬'); 
  5.  
  6.       if(strpos($price'.') === false) 
  7.       { 
  8.             $temp[0] = $price
  9.       } 
  10.       else 
  11.       { 
  12.             $temp = explode('.'$price); 
  13.       } 
  14.  
  15.       $j = $k = strlen($temp[0]); 
  16.       for ($i = 0; $i < $j$i++) 
  17.       { 
  18.             if ($temp[0][$i] > 0) 
  19.             { 
  20.                   $str .= $arr_big5[$temp[0][$i]]; 
  21.                   $k > 2 && $str .= $arr_unit[$k--]; 
  22.                   $m = 0; 
  23.             } 
  24.             else if ($m == 0 && $j-$i>1) 
  25.             { 
  26.                   $str .= $arr_big5[$temp[0][$i]]; 
  27.                   $k--; 
  28.                   $m++; 
  29.             } 
  30.             else 
  31.             { 
  32.                   $k--; 
  33.                   continue
  34.             } 
  35.       } 
  36.  
  37.       if (isset($temp[1]) && $temp[1] > 0) 
  38.       { 
  39.             $str .= '元'
  40.             $temp[1][0] > 0 && $str .= $arr_big5[$temp[1][0]].'角'
  41.             isset($temp[1][1]) && $temp[1][1] > 0 && $str .= $arr_big5[$temp[1][1]].'分'
  42.       } 
  43.       else 
  44.       { 
  45.             $str .= '元整'
  46.       } 
  47.  
  48.       return $str
相關文章
相關標籤/搜索