将字母表转换为数字 我想将数字转换为字母,但问题是十进制数字未转换
我认为这部分代码存在问题
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 :(得分: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);
}