2014-09-04 38 views
0

轉換拼音我想數字轉換成字母數字 ,但問題是十進制數字將不會轉換數字轉換爲字母的法文 - PHP

我認爲,在代碼

這部分問題
if (null !== $fraction && is_numeric($fraction)) { 
     $string .= $decimal; 
     $words = array(); 
     foreach (str_split((string) $fraction) as $number) { 
      $words[] = $dictionary[$number]; 
     } 
     $string .= implode(' ', $words); 
    } 
return $string; 
    } 

    $montant_alph = convert_number_to_words($a)." MAD"; 
+0

請解釋它沒有做什麼,你期望它會做什麼和你嘗試過什麼。這將有助於讀者回答你的問題 – Roalt 2014-09-04 11:04:24

+0

請提供樣本輸入和輸出等 – Jonathon 2014-09-04 11:05:24

+0

請大家看看這是文件文本:[http://textuploader.com/o5n1] – 2014-09-04 13:51:04

回答

0

您不需要str_split將小數部分轉換爲數組。

$dictionary = array(
    1 => 'zero', 
    1 => 'un', 
    2 => 'deux', 
    3 => 'trois', 
    4 => 'quatre', 
    5 => 'cinq', 
    6 => 'six', 
    7 => 'sept', 
    8 => 'huit', 
    9 => 'neuf', 
); 
// example 422.6543 
$fraction = (integer) 6543; 
$decimal = 'quatre deux deux/'; 

if (null !== $fraction && is_numeric($fraction)) { 
    $string .= $decimal; 
    $words = array(); 
    $fraction = (string) $fraction; 
    for ($i = 0; $i < strlen($fraction); ++$i) { 
     $words[] = $dictionary[$fraction{$i}]; 
    } 
    $string .= implode(' ', $words); 
} 
+0

已經完成,但它不起作用 看這是文件的文本:[http://textuploader.com/o5n1] – 2014-09-04 13:49:58