I just published a new article containing real .Net code inspired from a real problem I had lately!
I had a case where I needed to convert a number into words for writing on a cheque (or a check if you prefer).
There are some algorithms on the Internet. Many have issues when come to the thousands. All of them had failed for my main requirement: being able to produce the words in French (in addition to English).
By chance, on the topic of writing a number in words, both English and French are somewhat similar in the building of the words except that the French language as a lot of little subtilties like adding s here and there and prefixing with un for numbers like 100 and 1000 (which are cent and mille).
You can read this article from http://emoreau.com/Entries/Articles/2017/02/Net-code-to-convert-numbers-to-words.aspx