Showing posts with label format as currency javascript asp.net. Show all posts
Showing posts with label format as currency javascript asp.net. Show all posts

Monday, September 21, 2015

Format Number As Money, How?

Sometimes we need convert entered numbers as money format. Thanks to javascript we can do it simultaneously. Firstly we define textbox to enter number, and give this textbox id to handle it in javascript code.

@Html.TextBoxFor(model => model.Para, new { @class = "form-control", 
@ID = "paraId", @Value = String.Format("{0:C}", Model.Para) }) 

We define id as paraId.Also if model is not null, we format it as money by using 'String.Format("{0:C}, Model.Para")' .

User enters number in textbox,it  triggers the javascript code.



 $(function () {
            $("#paraId").on("change", function (e) {

                var num = $('#paraId').val();
                num = num.toString().replace(/\$|\,/g, '');
                if (isNaN(num))
                    num = "0";
                sign = (num == (num = Math.abs(num)));
                num = Math.floor(num * 100 + 0.50000000001);
                cents = num % 100;
                num = Math.floor(num / 100).toString();
                if (cents < 10)
                    cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3) ; i++)
          num = num.substring(0, num.length - (4 * i + 3)) + '.' +
          num.substring(num.length - (4 * i + 3));
          document.getElementById("paraId").value = (((sign) ? '' : '-') + num + ',' + cents);

            });
        });


Firstly, we get entered value by  '$('#paraId').val()'. Then We use math methods abs, floor, After we find money format, We set value of result like 'document.getElementById("paraId").value = (((sign) ? '' : '-') + num + ',' + cents)'.