|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.06.2011, 13:36 | #1 |
Пользователь
Регистрация: 12.06.2011
Сообщений: 12
|
Функция генерации цены товара
Нужно написать функцию генерации цены товара в строковом формате. Вывести результат в окно браузера. Допустим, на входе функции получена цена 38243.75, вы должны вывести «тридцать восемь тысяч двести сорок три рубля семьдесят пять копеек».
получился вот такой код, только есть недоделки, помогите доделать 1 Нужна функция которая бы из переменной $numder вытаскивала значения до точки и записывала их в одну переменную а после точки в другую. Код ниже написан для числовых значений без точек, так же надпись "Рублей" не выводится, если вбить число оканчивающееся на "0" 2 не могу понять как сделать чтоб выводились числа 10 11 12 и тд.до 19 куда их отнести. 3 если уведите еще какие нибудь баги, буду рад помощи при их устранении PHP код:
|
14.06.2011, 13:57 | #2 | |||
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Цитата:
Цитата:
Стрелок-охотник
|
|||
14.06.2011, 14:23 | #3 |
Пользователь
Регистрация: 12.06.2011
Сообщений: 12
|
вы имеете в виду слова в массив запихать и потом перебирать их циклами?
|
14.06.2011, 14:36 | #4 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Читаем число "с конца", определяем нет ли попадания в диапозон 11-19 или 0, чтобы исключитьб один шаг если да, далее влево по 1 цифре.
Стрелок-охотник
|
|
14.06.2011, 16:13 | #5 | |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Действительно, переделать проще, чем написать, да. Но, унеся ваши чемоданы в функцию, можно получить что-то более прозрачное и универсальное.
Вот как-то так: PHP код:
Цитата:
Скрипт так же тестил без фанатизма, так что возможны баги, проверьте на разных значениях. Функция довольно универсальна, понятно как пользоваться ? аргументы: $num - число, можно как строковое, так и численное значение $male - труъ, если мужской род, женский - фолз (да не обидятся прекрасные дамы, я не имел в виду ничего плохого). А вот про существование в русском языке среднего рода я как-то так забыл Ничего, сами допишите, если припрёт. $class_addition - массив текстовых дополнений класса чисел. эл.1 - для один, эл.2 - для два, три, четыре, эл.5 - для пяти и больше. эл.0 - если он есть, то при $num==0 выводится "ноль .эл.0" (типа, ноль рублей). если эл.0 не задан, то при $num==0 возвращается пустая строка. Впрочем, примеры использования есть в скрипте. PS: А зачем тут могут понадобиться цыклы ? Выводить в строку числа до 10Е15 или 10Е30 ? там, сколько мне помнится, названия все в мужском роде, можно и зациклить. Только вот если цены на товары реально дойдут до такого ренджа, это будет как-то так грустновато. /* хех, 90% население - миллиардеры, еще 10% - биллионеры и ещё 10 человек квадрильонеры */ Последний раз редактировалось graymaster; 14.06.2011 в 19:27. |
|
15.06.2011, 17:16 | #6 |
Пользователь
Регистрация: 12.06.2011
Сообщений: 12
|
да практически все понятно, спасибо Вам !, если не секрет давно программированием занимаетесь?
|
15.06.2011, 17:28 | #7 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Лет 17. Но php в активе последние года 4 только. Много практики с достаточно нестандартными задачами довольно быстро набивают экспу
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
функция генерации случайных чисел rand() в main | pufystyj | Общие вопросы C/C++ | 4 | 08.02.2011 21:09 |
функция генерации последовательностей | kaljan775 | Общие вопросы C/C++ | 0 | 08.12.2010 00:10 |
Вывод цены | AllForCS | PHP | 3 | 18.04.2010 09:18 |
Цены проектов | leffet | Свободное общение | 7 | 17.02.2010 14:13 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |