Click here to Skip to main content
15,885,244 members
Articles / Programming Languages / Javascript
Article

decimal value validation and round off by javascript

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
11 Oct 2013CPOL1 min read 10.7K  
Hi All,I have created one javascript by which you can validate a decimal value of any textbox for which you want.By this javascript we can bind

This articles was originally at wiki.asp.net but has now been given a new home on CodeProject. Editing rights for this article has been set at Bronze or above, so please go in and edit and update this article to keep it fresh and relevant.

Hi All,

I have created one javascript by which you can validate a decimal value of any textbox for which you want.

By this javascript we can bind user to enter only digits in textbox. and when he will enter any decimal value javascript will do round off it by 2 digits.

So here is this javascript:

 <script language="JavaScript" type="text/javascript">

        function round_decimals() {
            var val = document.getElementById('<%=txtamount.ClientID %>').value;
            var result1 = parseFloat(val) * Math.pow(10, 2);
            var result2 = Math.round(result1);
            var result3 = result2 / Math.pow(10, 2);
            document.getElementById('<%=txtamount.ClientID %>').value = pad_with_zeros(result3, 2);
        }

        function pad_with_zeros(rounded_value, decimal_places) {

            // Convert the number to a string
            var value_string = rounded_value.toString()

            // Locate the decimal point
            var decimal_location = value_string.indexOf(".")

            // Is there a decimal point?
            if (decimal_location == -1) {

                // If no, then all decimal places will be padded with 0s
                decimal_part_length = 0

                // If decimal_places is greater than zero, tack on a decimal point
                value_string += decimal_places > 0 ? "." : ""
            }
            else {

                // If yes, then only the extra decimal places will be padded with 0s
                decimal_part_length = value_string.length - decimal_location - 1
            }

            // Calculate the number of decimal places that need to be padded with 0s
            var pad_total = decimal_places - decimal_part_length

            if (pad_total > 0) {

                // Pad the string with 0s
                for (var counter = 1; counter <= pad_total; counter++)
                    value_string += "0"
            }
            return value_string
        }

        //-->
    </script>

 Now here is the aspx page that how we have to place it on textbox.

<asp:TextBox ID="txtamount" onblur="javascript:round_decimals()" runat="server"></asp:TextBox>

 I had tested this javascript in IE7/IE8/FF/safari/Google Chrome.

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.

The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.
This is a Collaborative Group

754 members

Comments and Discussions

 
-- There are no messages in this forum --