как понять когда 1200 а когда 12 100 ?)
чтобы 30 и 1 было как 2 разных числа, требуется сказать thirty and one
возвращало 35 хотя должно было 4 31.
когда тест проводился на чтение задержка была в районе 0.1-5 мс и диск работал отлично, только перешло на чтение и понеслось
Или отдельный список этих чисел 11-19, чтоб правильно понимать их..
А то слишком много исключений или проверок придется делать для того, чтоб правильно понимать разницу между "twenty seven" (как 27) и например "twenty sixteen" - запись абсолютно такая-же, и разряды те-же (ключевых слов типа hundred ведь нет), а вот результат уже то-ли 20 16 (но ведь нет and), то-ли 36, а может вообще 2016, или вообще ошибка должна быть..
Еще как вариант, ограничиться только цифрами (0-9), и любое число диктовать "посимвольно", вместо всяких миллионов, тысяч, сотен и т.д. просто для 9427305 - "nine four two seven three zero five", это проще чем .. а кстати, 427 тысяч как произносить собираетесь? :)
"four hundred twenty seven thousand" - по вашим правилам это 420 7000.. или 420+7000=7420? ну никак логически не получается из этого 427000 чтоб остальные правила соблюдались :)