Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сумма прописью на Php.

7.6K
11 мая 2006 года
Dick_H
56 / / 20.02.2006
Срочно нужна помощь, подскажите, как можно сделать сумму прописью, чтобы не отоброжалось число
150, а выводилось примерно так: СТО ПЯТЬДЕСЯТ?
15
11 мая 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dick_H
Срочно нужна помощь, подскажите, как можно сделать сумму прописью, чтобы не отоброжалось число
150, а выводилось примерно так: СТО ПЯТЬДЕСЯТ?


Пишешь "Сто пятьдесят". PHP читать числа не умеет. Если цифр немного, то делай массив.

 
Код:
$int[] = Ноль;
$int[] = Один; // и т.д.
7.6K
11 мая 2006 года
Dick_H
56 / / 20.02.2006
Цитата:
Originally posted by shaelf
Пишешь "Сто пятьдесят". PHP читать числа не умеет. Если цифр немного, то делай массив.
 
Код:
$int[] = Ноль;
$int[] = Один; // и т.д.


Чисел много, наверное даже будут и до миллиона, я так думаю на разные значения создавать свой массив, например на
1=>'один',2=>'два', .... ,0=>'ноль' - это один массив
10=>'десять',20=>'двадцать', .... , 90=>'девяносто' - это др. массив.
Это все понятно, а вот как делать выборку из этих массивов согласно числу, а потом выводить эти строки?

8
11 мая 2006 года
mfender
3.5K / / 15.06.2005
Где-то по просторам Сети бродят многочисленные алгоритмы конвертации чисел в строку. Если поискать - обязательно найдётся. А уж на чём писать - дело третье.
Вот, например, на Delphi, но способ хороший.
15
11 мая 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dick_H
Чисел много, наверное даже будут и до миллиона, я так думаю на разные значения создавать свой массив, например на
1=>'один',2=>'два', .... ,0=>'ноль' - это один массив
10=>'десять',20=>'двадцать', .... , 90=>'девяносто' - это др. массив.
Это все понятно, а вот как делать выборку из этих массивов согласно числу, а потом выводить эти строки?


Можно разбить число, ведь у тебя одна цифра одно слово получается, т.е. восемсот пять(805).
1. считаем колличество цифр (strlen())
2. раскидываем по одной (чем разделить думаю найдёшь, тем же substr())
3. И начиная снизу подстанавливаем по одному из массива.
Очень поверхностный пример:

Код:
<?php
//делаем массивы с словами.
$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] - восемсот.
?>

Совсем до конца разжёвывать не стал, думаю и так всё понятно.
7.6K
11 мая 2006 года
Dick_H
56 / / 20.02.2006
Цитата:
Originally posted by mfender
Где-то по просторам Сети бродят многочисленные алгоритмы конвертации чисел в строку. Если поискать - обязательно найдётся. А уж на чём писать - дело третье.
Вот, например, на Delphi, но способ хороший.


Да у меня есть, алгоритнмы на Delphi, но при переносе, он не работает, хотя вроде всё верно переношу...
Ладно, спасибо за помощь!!! Разберусь!

30K
11 июня 2007 года
Gashek
1 / / 11.06.2007
Вот сдесь я нашол простой пример
http://programming.su/PHP/example/21/
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог