Is there any existing builtin (or third party) Java class or library that can convert numbers to natural language strings; e.g. 1 -> "one", 2 -> "two", 1256 -> "a one thousand two hundred and fifty-six", etc.?
There is no built-in method with Java API. You have to create a method for the same. Take a look at Sample
Try googling
java "number to words"
See http://www.rgagnon.com/javadetails/java-0426.html for one good example.
As a sidenote: You may look into java i18n relevant aspects to see how to deal with language specific ressources in java.
http://java.sun.com/docs/books/tutorial/i18n/index.html
Keywords to look for are ResourceBundle and such.
Don't start to hardcode any natural language strings in static arrays or similar. This is almost always wrong.
The algorithm to convert numbers like 1.302.088 to a string is up to yours, I guess.
ICU is the right tool for this. Please check out,
http://icu-project.org/apiref/icu4j/com/ibm/icu/text/RuleBasedNumberFormat.html