Outputting numbers as words - MySQL with Perl or PHP
Archive - Originally posted on "The Horse's Mouth" - 2007-06-17 07:25:23 - Graham Ellis
Oracle's in_char function lets you convert numbers into a text string, but it's an unusual facility to have as as built-in; there's no such facility (as far as I know) in MySQL but you can get around this easily enough within your controlling application - the Nums2Words module on the CPAN (in Perl), and a similar module on the PEAR (for PHP users) does all the hard work for you.
earth-wind-and-fire:~/jun07 grahamellis$ perl n2w
7 = Seven
12 = Twelve
153 = One hundred fifty-three
-19 = Negative nineteen
1234007 = One million, two hundred thirty-four thousand, seven
0.7 = Zero and seven tenths
3.1415 = Three and one thousand, four hundred fifteen ten-thousandths
666.62 = Six hundred sixty-six and sixty-two hundredths
-176.75 = Negative one hundred seventy-six and seventy-five hundredths
1.06e+16 = One and six thousand, sixteen millionths
earth-wind-and-fire:~/jun07 grahamellis$
A web search lead me to similar code in Java, and no doubt there's someting in the Cheeseshop if you're a Python programmer. Lesson to be learnt - look around before you re-write code!