Вот "рыба" )).
Парсилка одного числа. типа 23, 42, 54, 35 итд. Все единицы, десятки и сотни писать лень.
Но это самый простой случай, а как быть с миллиардами , тысячами итд ?
Делаешь сплит строки по регулярке где разделители 'тысяч' , 'миллионов' и прочие сложные случаи. Получаешь наборы, где последний элемент или множитель или просто число.
После этого можно использовать тот же механизм , где, возможно, добавляется множитель. Пример -
двадцать шесть миллионов триста двадцать шесть -
после сплита получаем два набора :
1) двадцать шесть миллионов
2) триста двадцать шесть
проверяем последний элемент в каждом наборе.
в первом это "миллионов". Особый случай - множитель!
Отбрасываем последний элемент (множитель) . и распознаем 26 , как обычное число, далее "миллионов" - дает нам множитель - 1000 000. результирующее число 26 * на множитель (1000 000). = . 26 000 000.
второй набор в конце просто число. ок. стандартное преобразование.
Последний этап - сумма двух чисел.
Это общая идея. Разумеется , будут нюансы , но так даже интереснее )))
Например , валидация - "Две тысячи пять" - ok , а "Пять две тысячи" нет. Хотя приведенный выше алгоритм это скушает. Здесь тоже можно что-то придумать, и как мне кажется даже довольно простой алгоритм проверки валидности введенного текстом числа (есть идея). Простор для креативу!
Удачи