Сумма прописью на Php.
150, а выводилось примерно так: СТО ПЯТЬДЕСЯТ?
Срочно нужна помощь, подскажите, как можно сделать сумму прописью, чтобы не отоброжалось число
150, а выводилось примерно так: СТО ПЯТЬДЕСЯТ?
Пишешь "Сто пятьдесят". PHP читать числа не умеет. Если цифр немного, то делай массив.
$int[] = Один; // и т.д.
Пишешь "Сто пятьдесят". PHP читать числа не умеет. Если цифр немного, то делай массив.
$int[] = Один; // и т.д.
Чисел много, наверное даже будут и до миллиона, я так думаю на разные значения создавать свой массив, например на
1=>'один',2=>'два', .... ,0=>'ноль' - это один массив
10=>'десять',20=>'двадцать', .... , 90=>'девяносто' - это др. массив.
Это все понятно, а вот как делать выборку из этих массивов согласно числу, а потом выводить эти строки?
Чисел много, наверное даже будут и до миллиона, я так думаю на разные значения создавать свой массив, например на
1=>'один',2=>'два', .... ,0=>'ноль' - это один массив
10=>'десять',20=>'двадцать', .... , 90=>'девяносто' - это др. массив.
Это все понятно, а вот как делать выборку из этих массивов согласно числу, а потом выводить эти строки?
Можно разбить число, ведь у тебя одна цифра одно слово получается, т.е. восемсот пять(805).
1. считаем колличество цифр (strlen())
2. раскидываем по одной (чем разделить думаю найдёшь, тем же substr())
3. И начиная снизу подстанавливаем по одному из массива.
Очень поверхностный пример:
//делаем массивы с словами.
$int = 805;
$count = strlen($int);
for($i = 0; $i < $count; $i++) {
$array[] = substr($int, $i, 1);
/*теперь у нас есть массив вида
$array[0] = 8;
$array[1] = 0;
$array[2] = 5;
*/
}
Теперь просто сопостовляем их с масивами (хотя лучше создать что-то
$string[1][9] = "Девять" //где 1 обозначает одну цифру, т.е. 1-9, второй блок - это сама цифра для сопоставления и в конце мы имеем слово.
Теперь тебе осталось сопоставить $array с $string минуя нули и получится в данном случае
$array[0][8] - восемсот.
?>
Совсем до конца разжёвывать не стал, думаю и так всё понятно.
Где-то по просторам Сети бродят многочисленные алгоритмы конвертации чисел в строку. Если поискать - обязательно найдётся. А уж на чём писать - дело третье.
Вот, например, на Delphi, но способ хороший.
Да у меня есть, алгоритнмы на Delphi, но при переносе, он не работает, хотя вроде всё верно переношу...
Ладно, спасибо за помощь!!! Разберусь!