Easy Java Script Code to Round a Float to 4 Digits to the Right of the Decimal Point
By Stephen Bucaro
On the typical PC, Java Script Math object methods can return floating point
numbers with up to 16 digits to the right of the decimal point. For most purposes,
this kind of accuracy is not required, nor desired, and that many digits causes
nothing but confusion. In this article, You'll learn how to round a floating point
number to 4 digits to the right of the decimal point.
For this example, we'll input test numbers through a form. The code for the
form is shown below.
<form>
Float: <input style="text-align:right" type="text" name="floatNum">
<input type="button" value="Round" onClick="roundNum(this.form)">
</form>
Note that the onclick event of the form's [Round] button sends the form's
data to a function named roundNum. Shown below is the shell of the roundNum
function. paste this Java Script code block into the <head> section of your web page.
<script type="text/javascript">
function roundNum(form)
{
var strFloat = form.floatNum.value;
var newFloat;
}
</script>
Note that two variables are declared at the top of the function. The variable
strFloat receives the value entered into the form's text box. The variable
newFloat will be used to hold the output float rounded to 4 digits to the right
of the decimal point.
Just below the varaiable declarations, we add an if structure to test if
there are more than 4 digits to the right of the decimal point in the input
number. If there are, make a substring with 5 digits to the right of the decimal
point. If not (else), you can just set the output variable, newFloat,
to the same value as the input variable.
function roundNum(form)
{
var strFloat = form.floatNum.value;
var newFloat;
if(strFloat.length - strFloat.indexOf(".") > 5)
{
strFloat = strFloat.substring(0,strFloat.indexOf(".") + 6);
}
else
{
newFloat = floatNum;
}
}
|