Convert numbers into Chinese characters Write
- Function number2Chinese ($ num, $ m = 1 ){
- Switch ($ m ){
- Case 0:
- $ CNum = array (
- Array ('0', 'yi', 'er', 'san', 'siz', 'wu', 'Lu', 'region', 'region ', 'authorization '),
- Array ('', 'pick', 'handler', 'handler '),
- Array ('', 'region', 'region', 'regions ')
- );
- Break;
- Default:
- $ CNum = array (
- Array ('0', '1', '2', '3', '4', '5', '6', '7', '8 ', '9 '),
- Array ('', '10', '100', 'kil '),
- Array ('', 'wan', 'yi', 'trillion ')
- );
- Break;
- }
- // $ CNum = array ('0', '1', '2', '3', '4', '5', '6', '7 ', '8', '9 ');
- If (is_integer ($ num )){
- $ Int = (string) $ num;
- } Else if (is_numeric ($ num )){
- $ Num = explode ('.', (string) floatval ($ num ));
- $ Int = $ num [0];
- $ Fl = isset ($ num [1])? $ Num [1]: FALSE;
- }
- // Length
- $ Len = strlen ($ int );
- // Chinese
- $ Chinese = array ();
- // Reverse number
- $ Str = strrev ($ int );
- For ($ I = 0; $ I <$ len; $ I + = 4 ){
- $ S = array (0 => $ str [$ I], 1 => $ str [$ I + 1], 2 => $ str [$ I + 2], 3 => $ str [$ I + 3]);
- $ J = '';
- // Thousands
- If ($ s [3]! = ''){
- $ S [3] = (int) $ s [3];
- If ($ s [3]! = 0 ){
- $ J. = $ CNum [0] [$ s [3]. $ CNum [1] [3];
- } Else {
- If ($ s [2]! = 0 | $ s [1]! = 0 | $ s [0]! = 0 ){
- $ J. = $ CNum [0] [0];
- }
- }
- }
- // Hundreds of digits
- If ($ s [2]! = ''){
- $ S [2] = (int) $ s [2];
- If ($ s [2]! = 0 ){
- $ J. = $ CNum [0] [$ s [2]. $ CNum [1] [2];
- } Else {
- If ($ s [3]! = 0 & ($ s [1]! = 0 | $ s [0]! = 0 )){
- $ J. = $ CNum [0] [0];
- }
- }
- }
- // 10
- If ($ s [1]! = ''){
- $ S [1] = (int) $ s [1];
- If ($ s [1]! = 0 ){
- $ J. = $ CNum [0] [$ s [1]. $ CNum [1] [1];
- } Else {
- If ($ s [0]! = 0 & $ s [2]! = 0 ){
- $ J. = $ CNum [0] [$ s [1];
- }
- }
- }
- // Bit
- If ($ s [0]! = ''){
- $ S [0] = (int) $ s [0];
- If ($ s [0]! = 0 ){
- $ J. = $ CNum [0] [$ s [0]. $ CNum [1] [0];
- } Else {
- // $ J. = $ CNum [0] [0];
- }
- }
- $ J. = $ CNum [2] [$ I/4];
- Array_unshift ($ chinese, $ j );
- }
- $ Chs = implode ('', $ chinese );
- If ($ fl ){
- $ Chs. = 'Point ';
- For ($ I = 0, $ j = strlen ($ fl); $ I <$ j; $ I ++ ){
- $ T = (int) $ fl [$ I];
- $ Chs. = $ str [0] [$ t];
- }
- }
- Return $ chs;
- }
- Function number2Chinese ($ num, $ m = 1 ){
- Switch ($ m ){
- Case 0:
- $ CNum = array (
- Array ('0', 'yi', 'er', 'san', 'siz', 'wu', 'Lu', 'region', 'region ', 'authorization '),
- Array ('', 'pick', 'handler', 'handler '),
- Array ('', 'region', 'region', 'regions ')
- );
- Break;
- Default:
- $ CNum = array (
- Array ('0', '1', '2', '3', '4', '5', '6', '7', '8 ', '9 '),
- Array ('', '10', '100', 'kil '),
- Array ('', 'wan', 'yi', 'trillion ')
- );
- Break;
- }
- // $ CNum = array ('0', '1', '2', '3', '4', '5', '6', '7 ', '8', '9 ');
- If (is_integer ($ num )){
- $ Int = (string) $ num;
- } Else if (is_numeric ($ num )){
- $ Num = explode ('.', (string) floatval ($ num ));
- $ Int = $ num [0];
- $ Fl = isset ($ num [1])? $ Num [1]: FALSE;
- }
- // Length
- $ Len = strlen ($ int );
- // Chinese
- $ Chinese = array ();
- // Reverse number
- $ Str = strrev ($ int );
- For ($ I = 0; $ I <$ len; $ I + = 4 ){
- $ S = array (0 => $ str [$ I], 1 => $ str [$ I + 1], 2 => $ str [$ I + 2], 3 => $ str [$ I + 3]);
- $ J = '';
- // Thousands
- If ($ s [3]! = ''){
- $ S [3] = (int) $ s [3];
- If ($ s [3]! = 0 ){
- $ J. = $ CNum [0] [$ s [3]. $ CNum [1] [3];
- } Else {
- If ($ s [2]! = 0 | $ s [1]! = 0 | $ s [0]! = 0 ){
- $ J. = $ CNum [0] [0];
- }
- }
- }
- // Hundreds of digits
- If ($ s [2]! = ''){
- $ S [2] = (int) $ s [2];
- If ($ s [2]! = 0 ){
- $ J. = $ CNum [0] [$ s [2]. $ CNum [1] [2];
- } Else {
- If ($ s [3]! = 0 & ($ s [1]! = 0 | $ s [0]! = 0 )){
- $ J. = $ CNum [0] [0];
- }
- }
- }
- // 10
- If ($ s [1]! = ''){
- $ S [1] = (int) $ s [1];
- If ($ s [1]! = 0 ){
- $ J. = $ CNum [0] [$ s [1]. $ CNum [1] [1];
- } Else {
- If ($ s [0]! = 0 & $ s [2]! = 0 ){
- $ J. = $ CNum [0] [$ s [1];
- }
- }
- }
- // Bit
- If ($ s [0]! = ''){
- $ S [0] = (int) $ s [0];
- If ($ s [0]! = 0 ){
- $ J. = $ CNum [0] [$ s [0]. $ CNum [1] [0];
- } Else {
- // $ J. = $ CNum [0] [0];
- }
- }
- $ J. = $ CNum [2] [$ I/4];
- Array_unshift ($ chinese, $ j );
- }
- $ Chs = implode ('', $ chinese );
- If ($ fl ){
- $ Chs. = 'Point ';
- For ($ I = 0, $ j = strlen ($ fl); $ I <$ j; $ I ++ ){
- $ T = (int) $ fl [$ I];
- $ Chs. = $ str [0] [$ t];
- }
- }
- Return $ chs;
- }
|