Showing posts with label amount to text. Show all posts
Showing posts with label amount to text. Show all posts

Friday, February 20, 2026

DIsplay amount in english and gujrati text

 Hello

Today I am explain how to display amount in text in both gujrati and english.


<label class="col-sm-2 control-label" title="price">Ticket Price<span class="red">*</span></label>

                                                <div class="col-sm-2" title="price">

                                                    <input type="number" class="form-control" name="ticketprice" id="ticketprice"  placeholder="Enter ticket Price" onkeypress="return onlyNumberKey(event)">

                                                    <h5 id="pricemsg" style="color: red;">Please fill Ticket Price</h5>

                                                </div>

                                                <span class="col-sm-4 green" title="price">

                                                    <strong>

                                                        <span id="amountWords"></span><br>

                                                        <span id="amountWordsG"></span>

                                                    </strong>

                                                </span>

                                            </div>


JS code:

<script>

        //gujrati

        const gujaratiNumbers = [

                                    "", "એક", "બે", "ત્રણ", "ચાર", "પાંચ", "છ", "સાત", "આઠ", "નવ",

                                    "દસ", "અગિયાર", "બાર", "તેર", "ચૌદ", "પંદર", "સોળ", "સત્તર", "અઢાર", "ઓગણીસ",

                                    "વીસ", "એકવીસ", "બાવીસ", "ત્રેવીસ", "ચોવીસ", "પચ્ચીસ", "છવીસ", "સત્તાવીસ", "અઠ્ઠાવીસ", "ઓગણત્રીસ", "ત્રીસ", "એકત્રીસ", "બત્રીસ", "તેત્રીસ", "ચોત્રીસ", "પાંત્રીસ", "છત્રીસ", "સાડત્રીસ", "આડત્રીસ", "ઓગણચાલીસ",

                                    "ચાલીસ", "એકતાલીસ", "બેતાલીસ", "તેતાલીસ", "ચુંમાલીસ", "પિસ્તાલીસ", "છેતાલીસ", "સુડતાલીસ", "અડતાલીસ", "ઓગણપચાસ",

                                    "પચાસ", "એકાવન", "બાવન", "તેપન", "ચોપન", "પંચાવન", "છપ્પન", "સત્તાવન", "અઠ્ઠાવન", "ઓગણસાઠ",

                                    "સાઠ", "એકસઠ", "બાસઠ", "તેંસઠ", "ચોસઠ", "પાંસઠ", "છાંસઠ", "સડસઠ", "અડસઠ", "ઓગણસિત્તેર",

                                    "સિત્તેર", "એકોતેર", "બોતેર", "તોતેર", "ચુમોતેર", "પંચોતેર", "છોતેર", "સિત્યોતેર", "ઇઠ્યોતેર", "ઓગણએંસી",

                                    "એંસી", "એક્યાસી", "બ્યાસી", "ત્ર્યાસી", "ચોર્યાસી", "પંચ્યાસી", "છ્યાસી", "સિત્યાસી", "ઈઠ્યાસી", "નેવ્યાસી",

                                    "નેવું", "એકાણું", "બાણું", "ત્રાણું", "ચોરાણું", "પંચાણું", "છન્નું", "સત્તાણું", "અઠાણું", "નવ્વાણું"

                                ];

        const gujaratiHundreds = {

                                    1: "એકસો",

                                    2: "બસો",

                                    3: "ત્રણસો",

                                    4: "ચારસો",

                                    5: "પાંચસો",

                                    6: "છસો",

                                    7: "સાતસો",

                                    8: "આઠસો",

                                    9: "નવસો"

                                };



        function numberToGujaratiWords(num) {

            if (!num || num === 0) return "";


            function convertBelow1000(n) {

                let str = "";


                if (n >= 100) {

                    const h = Math.floor(n / 100);

                    str += gujaratiHundreds[h] + " ";

                    n = n % 100;

                }


                if (n > 0) {

                    str += gujaratiNumbers[n];

                }


                return str.trim();

            }


            let result = "";


            const crore = Math.floor(num / 10000000);

            const lakh = Math.floor((num % 10000000) / 100000);

            const thousand = Math.floor((num % 100000) / 1000);

            const rest = num % 1000;


            if (crore) result += convertBelow1000(crore) + " કરોડ ";

            if (lakh) result += convertBelow1000(lakh) + " લાખ ";

            if (thousand) result += convertBelow1000(thousand) + " હજાર ";

            if (rest) result += convertBelow1000(rest);


            return result.trim() + " રૂપિયા પુરા.";

        }


        //english

        function numberToWords(num) {

            num = parseInt(num);

            if (isNaN(num)) return '';


            const belowTwenty = ['', 'One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten',

                'Eleven','Twelve','Thirteen','Fourteen','Fifteen','Sixteen','Seventeen','Eighteen','Nineteen'];


            const tens = ['', '', 'Twenty','Thirty','Forty','Fifty','Sixty','Seventy','Eighty','Ninety'];


            function convertHundreds(n) {

                let str = '';


                if (n > 99) {

                    str += belowTwenty[Math.floor(n / 100)] + ' Hundred ';

                    n = n % 100;

                }


                if (n > 19) {

                    str += tens[Math.floor(n / 10)] + ' ';

                    n = n % 10;

                }


                if (n > 0) {

                    str += belowTwenty[n] + ' ';

                }


                return str;

            }


            let result = '';


            if (num >= 10000000) {

                result += convertHundreds(Math.floor(num / 10000000)) + 'Crore ';

                num = num % 10000000;

            }


            if (num >= 100000) {

                result += convertHundreds(Math.floor(num / 100000)) + 'Lakh ';

                num = num % 100000;

            }


            if (num >= 1000) {

                result += convertHundreds(Math.floor(num / 1000)) + 'Thousand ';

                num = num % 1000;

            }


            if (num > 0) {

                result += convertHundreds(num);

            }


            return result.trim();

        }


        document.getElementById("ticketprice").addEventListener("input", function () {


            let value = this.value;


            if (value == "" || value == 0) {

                document.getElementById("amountWords").innerText = "";

                return;

            }


            document.getElementById("amountWords").innerText =

                numberToWords(value) + " Rupees Only";


            //gujrati

            const output = $('#amountWordsG');

            if (!isNaN(value) && value > 0) {

                output.text(numberToGujaratiWords(value));

            } else {

                output.text('');

            }


        });

    </script>