Я бы посоветовал вам создать хеш-таблицу с номерами от 0 до 99 в виде индексов (заключенных в кавычки), а значениями являются имена слов для этих чисел. Это сделает возможной локализацию без большого количества сложного кода, чтобы определить, например, разницу между «одиннадцать» и «juu ichi» (ten one
) на японском языке или между «девяносто девять» и «quatre vingt dix neuf» ( восемьдесят девятнадцать ) на французском языке, «двадцать два» и «zwei und zwanzig» (два и двадцать) на немецком языке и т. Д.
Давайте назовем эту хеш-таблицу myNumberWords
. Тогда вы просто конвертируете свои цифры следующим образом:
function getWordsFromNumber(num:Number) : String {
return myNumberWords[num.toString()];
}
Если вы хотите перейти выше 99, добавьте хеш для слов сто , тысяча , миллион , миллиард , и т. д., затем разбейте ваше целое число на массив и поместите соответствующие единицы после каждого третьего числа, считая с вершины стека. Вы также должны иметь нулевые значения и значения двойного нуля, которые считаются пустыми строками (""), за исключением случаев, когда есть только одна цифра и это ноль и т. Д.