Home > Web Front-end > JS Tutorial > body text

How to Convert Numbers to Words Using the Lakh/Crore System?

Mary-Kate Olsen
Release: 2024-11-05 22:52:02
Original
338 people have browsed it

How to Convert Numbers to Words Using the Lakh/Crore System?

Transforming Numbers to Words in the Lakh/Crore System

You're trying to convert numbers into words, specifically following the South Asian numbering system, known as the lakh and crore system. Unfortunately, the code you've written currently utilizes the English numbering system, using terms like "million" and "billion."

To achieve your desired result, you can opt for a simpler approach with fewer lines of code. Here's a concise and efficient version:

<code class="js">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;
}</code>
Copy after login

This improved code provides several notable benefits:

  • Simplicity: It's much more concise, with only one regular expression and no loops.
  • Accuracy: It correctly converts numbers to words using the lakh and crore system.
  • Customization: You can easily modify the arrays 'a' and 'b' to support different languages or dialects.

Here's a live example you can use to test the code:

<code class="html"><span id="words"></span>
<input id="number" type="text" /></code>
Copy after login
<code class="js">document.getElementById('number').onkeyup = function () {
    document.getElementById('words').innerHTML = inWords(document.getElementById('number').value);
};</code>
Copy after login

By incorporating this code into your project, you can efficiently and accurately convert numbers to words in the lakh and crore system. Let us know if you have any further questions or require any assistance.

The above is the detailed content of How to Convert Numbers to Words Using the Lakh/Crore System?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!