Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перевод целых чисел в текст

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Wahtel
Отправлено: 09 Декабря, 2014 - 19:16:35
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




Всем привет, получил тестовое задание, звучит оно так

"Написать решение c использованием ООП, которое позволяет переводить целые числа в каком-нибудь диапазоне (c миллионами включительно) в текст ( разговорный) на трех языках (рус., англ., укр.) "

С ООП пока решил не спешить, хочу просто понять что вообще нужно делать, не прошу сделать это задание за меня, а просто подтолкнуть ибо я не совсем понимаю как можно перевести числа в текст, пока в интернете ничего подходящего не нашел, за ранее спасибо за помощь.
 
 Top
Panoptik
Отправлено: 09 Декабря, 2014 - 20:16:53
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




я бы на вашем месте уточнил у тех кто вам дал это задание что они сами подразумевают под этим.
Wahtel пишет:
переводить целые числа в каком-нибудь диапазоне (c миллионами включительно) в текст ( разговорный) на трех языках


ибо можно растолковать это по разному, например кодировать символы каждого языка в определенное число (что более вероятно как по мне) или кодировать целые слова
(Добавление)
... блин понял. это они хотят число переводить в текстовую запись

аля - 1 - один
22 - двадцать два | twenty two | двадцять два

1100000 - один миллион сто тысяч

короче такого добра в интернетах полно. гугл в помощь
ordinize, pluralize numbers <-- google


-----
Just do it
 
 Top
Wahtel
Отправлено: 11 Декабря, 2014 - 19:25:32
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




Panoptik
Я нашел не плохую функцию, переделал ее под ООП, она нормально работает, но вот с языками лажа получается, я начал в ручную добавлять языки, в начале все ок было, а потом выдало ошибку и все весь код пошел по пизде, теперь возвращаю обратно уже ни черта практически не работает с английским языком, хотя до этой ошибки все работало не плохо, до 1000.
Как можно не в ручную добавить зыки, тем более что это ООП?
Буду очень благодарен за помощь, а то времени впритык(
 
 Top
Bio man
Отправлено: 11 Декабря, 2014 - 19:35:02
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Wahtel пишет:
Как можно не в ручную добавить зыки, тем более что это ООП?
Без бубна никак. Тем более что это ООП.
Какой вопрос - такой ответ.
 
 Top
Wahtel
Отправлено: 11 Декабря, 2014 - 19:45:23
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




Bio man
Просто я выбрал не самый подходящий как по мне способ.

Допустим вот функция для вывода цифр до 100

PHP:
скопировать код в буфер обмена
  1.  
  2. public function num100($i, $female) {
  3.          
  4.           $gender = $female?1:0;
  5.           if ($i < 20) {
  6.             return $this->Ne0[$gender][$i]. '</br>' .$this->Ne0eng[$gender][$i];
  7.           }
  8.           else {
  9.             return $this->Ne1[intval($i / 10)] . (($i % 10)?(' ' . $this->Ne0[$gender][$i % 10]):'').
  10.             '</br>' . $this->Ne1eng[intval($i / 10)] . (($i % 10)?(' ' . $this->Ne0eng[$gender][$i % 10]):'');
  11.           }
  12.         }
  13.  


Просто вывожу массивы с числами, и получается к ним еще приклееваю такие же массивы только на английском, мне кажется что мой код начинает ломаться, именно из за того что я склееваю, я буквально с утра над этим работаю, у меня голова уже кипит, не знаю каким еще способом можно попробовать, а то этот явно не очень хорошо работает.
 
 Top
LIME
Отправлено: 11 Декабря, 2014 - 19:50:05
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Wahtel пишет:
Как можно не в ручную добавить зыки
вместо текста использовать ф-цию перевода
например
PHP:
скопировать код в буфер обмена
  1. $arr = array('some string' => 'какаято строка');
  2. function translate($str) use ($arr){
  3.    return $arr[$str];
  4. }
  5. echo translate('some string' );
хотя чем можно помочь трупу?

(Отредактировано автором: 11 Декабря, 2014 - 19:50:57)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« FreeLance »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB