convert any number to words

Has anyone done this in Progress?

Example: 19,786,565.128 result is: Nineteen Million Seven Hundred Eighty Six Thousand Five Hundred Sixty Five Point One Hundred Twenty Eight

Should be able to process any number from 0 to unlimited. If so, can you explain the technique, method or paradigm you used?