1

Is there an easy way in javascript/jquery to convert an int into its text equivalent?

So var item = 1 becomes item = "One"..

Bohemian
  • 412,405
  • 93
  • 575
  • 722
Jamie
  • 421
  • 4
  • 17
  • Well, I mean you can hard code it but what if you have an item that can technically be infinite large there is no value in hard coding it...? – Jamie Mar 26 '15 at 23:09
  • Have a look at the answers in the referred question, its not about *hardcoding* – LJᛃ Mar 26 '15 at 23:12
  • This question looks like http://stackoverflow.com/questions/5904851/how-to-write-an-integer-in-english-words-in-javascript and http://stackoverflow.com/questions/5529934/javascript-numbers-to-words . – Luc125 Mar 26 '15 at 23:19

1 Answers1

1

like this

var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ','thirteen ','fourteen ','fifteen ','sixteen ','seventeen ','eighteen ','nineteen '];
var b = ['', '', 'twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];

function inWords (num) {
    if ((num = num.toString()).length > 9) return 'overflow';
    n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
    if (!n) return; var str = '';
    str += (n[1] != 0) ? (a[Number(n[1])] || b[n[1][0]] + ' ' + a[n[1][1]]) + 'crore ' : '';
    str += (n[2] != 0) ? (a[Number(n[2])] || b[n[2][0]] + ' ' + a[n[2][1]]) + 'lakh ' : '';
    str += (n[3] != 0) ? (a[Number(n[3])] || b[n[3][0]] + ' ' + a[n[3][1]]) + 'thousand ' : '';
    str += (n[4] != 0) ? (a[Number(n[4])] || b[n[4][0]] + ' ' + a[n[4][1]]) + 'hundred ' : '';
    str += (n[5] != 0) ? ((str != '') ? 'and ' : '') + (a[Number(n[5])] || b[n[5][0]] + ' ' + a[n[5][1]]) + 'only ' : '';
    return str;
}

stackoverflow

Community
  • 1
  • 1
ashkufaraz
  • 5,179
  • 6
  • 51
  • 82