Существует ли библиотека Java с открытым исходным кодом для преобразования строковых чисел в их эквивалентные целые числа (например, преобразование «десять» в 10)? Я знаю, как это сделать, но я бы предпочел не тратить время моего клиента на написание с нуля, если уже есть доступная библиотека.
Преобразовать числа, написанные как слова, в целые числа?
Ответы (2)
Сомневаюсь, что такая библиотека существует.
Если вы хотите преобразовать только ограниченное количество чисел (например, от zero
до ten
), вам, вероятно, потребуется больше времени, чтобы задать этот вопрос здесь, чем просто реализовать его самостоятельно.
Если вы хотите преобразовать более сложные числа, такие как "one hundred twenty four and fifty-one hundredth's"
, чем вам нужно, это распознаватель естественного языка, который чрезвычайно сложен и вряд ли имеет хорошую библиотеку на каком-либо языке.
В конце концов, обычно лучше, чтобы серверные значения и потребляемый пользователем контент не были связаны.
Twenty-one Hundred
twenty one Hundred
two thousand one hundred
one hundred and one
one hundred one
twenty thirteen
forty two point five
3 thousand forty five
twenty k
- person Sam I am says Reinstate Monica; 26.09.2012
На "двадцать семь" или "двадцать и семь"? За «двадцать семь» или за «десять и семь»? Бейкеровская дюжина кому-нибудь? Пара костей или две кости? Один меньше шести пакетов? Trifecta процедур обработки чисел? 21 век (год 20хх)?
Ваши требования немного шире, чем я полагаю, вы их рассматривали. Я бы порекомендовал вам работать с платформой, которая действительно позволяет гибко добавлять новые представления вместо того, чтобы предполагать одно представление, Среда обработки Apache Open Natural Language может быть хорошим выбором.
После нескольких попыток вы можете построить три программы обработки чисел. Или, по крайней мере, иметь множество идей.