Monday, April 8, 2013

Convert Numbers into Words Using JavaScript

Hello friends,

Today in Developer's Blog, I am going to tell you the way by which we will be able to easily convert Numbers into Words using JavaScript.

First of all you will have to create a JavaScript file (.js) using below code :
var th = ['','thousand','million', 'billion','trillion'];
var dg = ['zero','one','two','three','four', 'five','six','seven','eight','nine']
var tn = ['ten','eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
var tw = ['twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety']

function toWords(s)
{  
    s = s.toString(); 
    s = s.replace(/[\, ]/g,''); 
    if (s != parseFloat(s)) return 'not a number'
    var x = s.indexOf('.'); 
    if (x == -1) x = s.length; 
    if (x > 15) return 'too big'
    var n = s.split(''); 
    var str = ''
    var sk = 0; 
    for (var i=0; i < x; i++
    {
        if ((x-i)%3==2) 
        {
            if (n[i] == '1'
            {
                str += tn[Number(n[i+1])] + ' '
                i++; 
                sk=1;
            }
            else if (n[i]!=0) 
            {
                str += tw[n[i]-2] + ' ';
                sk=1;
            }
        }
        else if (n[i]!=0) 
        {
            str += dg[n[i]] +' '
            if ((x-i)%3==0) str += 'hundred ';
            sk=1;
        }

        if ((x-i)%3==1)
        {
            if (sk) str += th[(x-i-1)/3] + ' ';
            sk=0;
        }
    }
    if (x != s.length)
    {
        var y = s.length; 
        str += 'point '
        for (var i=x+1; i<y; i++) str += dg[n[i]] +' ';
    }
    return str.replace(/\s+/g,' ');
}

So by this you will be able to Convert Number into Words Using JavaScript.

I hope this will help you and you will like it.

Don't forget to leave your comments.

Thank you
Ravinder




2 comments:

  1. Works Good..!!! Thanks Ravinder

    ReplyDelete
  2. good work but providing documention make it more understandable

    ReplyDelete