Преобразуйте число в слова, используя flex - PullRequest
0 голосов
/ 05 мая 2010

Я пытаюсь преобразовать запись, используя числовой степпер в flex, в слова для отображения в текстовой области.

Т.е. пользователь использует шаговый регулятор для ввода значения "89", а в текстовой области отображаются слова "Восемьдесят девять".

После долгих поисков я не нашел ничего полезного - несколько функций javascript, но это все.

будет полезен любой пример кода помощи.

Заранее спасибо.

1 Ответ

0 голосов
/ 05 мая 2010

Я бы посоветовал вам создать хеш-таблицу с номерами от 0 до 99 в виде индексов (заключенных в кавычки), а значениями являются имена слов для этих чисел. Это сделает возможной локализацию без большого количества сложного кода, чтобы определить, например, разницу между «одиннадцать» и «juu ichi» (ten one) на японском языке или между «девяносто девять» и «quatre vingt dix neuf» ( восемьдесят девятнадцать ) на французском языке, «двадцать два» и «zwei und zwanzig» (два и двадцать) на немецком языке и т. Д.

Давайте назовем эту хеш-таблицу myNumberWords. Тогда вы просто конвертируете свои цифры следующим образом:

function getWordsFromNumber(num:Number) : String {
  return myNumberWords[num.toString()]; 
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...