15,958,294 members
Articles / Programming Languages / Javascript
Article

# decimal value validation and round off by javascript

Rate me:
11 Oct 2013CPOL1 min read 10.8K
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.

Written By
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 --