在打印訂單的時候,若是是貨到付款,那麼可能就須要中文大寫的金額了,這個EMS是必須的!ide
可是ecshop並無這樣的功能,怎麼辦呢?優化
只好本身寫了一個,可能存在大量Bug,求大師幫忙優化!謝謝!spa
- function nature2zh($price)
- {
- $str = '';
- $arr_big5 = array('零','壹','貳','叄','肆','伍','陸','柒','捌','玖');
- $arr_unit = array('', '', '拾', '佰', '仟', '萬');
- if(strpos($price, '.') === false)
- {
- $temp[0] = $price;
- }
- else
- {
- $temp = explode('.', $price);
- }
- $j = $k = strlen($temp[0]);
- for ($i = 0; $i < $j; $i++)
- {
- if ($temp[0][$i] > 0)
- {
- $str .= $arr_big5[$temp[0][$i]];
- $k > 2 && $str .= $arr_unit[$k--];
- $m = 0;
- }
- else if ($m == 0 && $j-$i>1)
- {
- $str .= $arr_big5[$temp[0][$i]];
- $k--;
- $m++;
- }
- else
- {
- $k--;
- continue;
- }
- }
- if (isset($temp[1]) && $temp[1] > 0)
- {
- $str .= '元';
- $temp[1][0] > 0 && $str .= $arr_big5[$temp[1][0]].'角';
- isset($temp[1][1]) && $temp[1][1] > 0 && $str .= $arr_big5[$temp[1][1]].'分';
- }
- else
- {
- $str .= '元整';
- }
- return $str;
- }