Jump to content

Search the Community

Showing results for tags 'into words'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • W3Schools
    • General
    • Suggestions
    • Critiques
  • HTML Forums
    • HTML/XHTML
    • CSS
  • Browser Scripting
    • JavaScript
    • VBScript
  • Server Scripting
    • Web Servers
    • Version Control
    • SQL
    • ASP
    • PHP
    • .NET
    • ColdFusion
    • Java/JSP/J2EE
    • CGI
  • XML Forums
    • XML
    • XSLT/XSL-FO
    • Schema
    • Web Services
  • Multimedia
    • Multimedia
    • FLASH

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Languages

Found 1 result

  1. Hi, I need help. (for those who don't know how does Indian Numbering System work.. the basic idea is this: 10,00,00,000... first comma comes after three zeros which is a thousand and then after two zeros.. so there is no Hundred Thousand, a hundred thousand is called One Lakh... for more details, please read the wiki article on "Indian Numbering System") I managed to look around on internet and found myself a code which suited my need which was to convert a Number into Words with indian numbering sytem in a PDF form. It worked greatly until one day when I encountered a strange problem: After a particular calculation which gives the result 170080.00 and when I convert it to words.. the following conversion happens: "One Lakh Seventy Thousand and Seventy-Nine Rupees and One Hundred Paise Only"... instead of "One Lakh Seventy Thousand and Eighty Rupees only" (Actual result was 170080.27, from which I substracted 0.27 to round it off to 170080.00) =========== code is: function number2text(value) { var fraction = Math.round(frac(value)*100); var f_text = ""; if(fraction == 1) { f_text = " and "+convert_number(fraction)+" Paisa"; } if(fraction > 1) { f_text = " and "+convert_number(fraction)+" Paise"; } if (Math.floor(value) == 1) { return convert_number(value)+" Rupee"+f_text+" Only"; } else { return convert_number(value)+" Rupees"+f_text+" Only"; } } function frac(f) { return f % 1; } function convert_number(number) { if ((number < 0) || (number > 999999999)) { return "NUMBER TOO LARGE TO CONVERT!"; } var Gn = Math.floor(number / 10000000); /* Crore */ number -= Gn * 10000000; var kn = Math.floor(number / 100000); /* lakhs */ number -= kn * 100000; var Hn = Math.floor(number / 1000); /* thousand */ number -= Hn * 1000; var Dn = Math.floor(number / 100); /* Tens (deca) */ number = number % 100; /* Ones */ var tn= Math.floor(number / 10); var one=Math.floor(number % 10); var res = ""; if (Gn>0) { res += (convert_number(Gn) + " Crore"); } if (kn>0) { res += (((res=="") ? "" : " ") + convert_number(kn) + " Lakh"); } if (Hn>0) { res += (((res=="") ? "" : " ") + convert_number(Hn) + " Thousand"); } if (Dn) { res += (((res=="") ? "" : " ") + convert_number(Dn) + " Hundred"); } var ones = Array("", "One", "Two", "Three", "Four", "Five", "Six","Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen","Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen","Nineteen"); var tens = Array("", "", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty","Seventy", "Eighty", "Ninety"); if (tn>0 || one>0) { if (!(res=="")) { res += " and "; } if (tn < 2) { res += ones[tn * 10 + one]; } else { res += tens[tn]; if (one>0) { res += ("-" + ones[one]); } } } if (res=="") { res = "Zero"; } return res; } ========================= Thanks!
×
×
  • Create New...