Forum Moderators: open

Message Too Old, No Replies

rounding inputs up

rounding inputs up

         

ChrisVersion2

7:46 pm on Sep 27, 2007 (gmt 0)

10+ Year Member



The inputs for the fields of mth6, mth12, mth18, mth24, set50, set75, set 80 and set85.

I would like a way for it to round up to the nearest tenth.

IE:

from 2571 to 2580

from 148 to 150

ect.

any suggestions?

Thank you to anyone who responds,
chris.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en"><head>


<meta http-equiv="Content-Type" content="text/html; charset:utf-8"><title>Kimball Calculator</title>

<style type="text/css">
body {
background-color:#ffe;
margin-top:0px;
margin-left:0px;
}
#container {
width:600px;
height:500px;
padding:10px;
border:3px double #311;
background-color:#fc9;
font-family:arial,sans-serif;
margin:0px;
}
#container:after {
content:'';
display:block;
clear:both;
}
#container label {
width:150px;
font-size:14px;
font-weight:bold;
color:#311;
text-align:right;
margin-bottom:7px;
float:left;
}
#container input {
width:115px;
padding-right:5px;
font-size:14px;
font-weight:bold;
color:#311;
text-align:right;
background-color:#ffc;
border:1px solid #311;
margin-bottom:7px;
margin-left:10px;
float:left;
}
#container #but {
text-align:center;
width:115px;
padding-right:5px;
font-size:14px;
font-weight:bold;
color:#311;
background-color:#ffc;
border:10px solid #311;
margin-bottom:10px;
margin-left:10px;
float:center;
}

</style>

</head><body>
<div id="container">
<table border="0">
<tbody>
<tr>
<td align="center" colspan="6"><img src="calc/kimballcalc.jpg" align="center"></td>
</tr>
<tr>
<td valign="top">

<form action="" method="get">
<table>
<tbody>
<tr>
<td></td><td><input class="but" type="reset" value="Reset Fields"></td>
</tr>
<tr>
<td><label><font color="#ee0000" size="5">Debt Owed:</font></label></td><td><input value="" id="tdo" name="tdo"

type="text"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#000000" height="2px"></td>
</tr>
<tr>
<td><label>Monthly Income</label></td><td><input value="" id="mi" name="mi" type="text"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#000000" height="2px"></td>
</tr>
<tr>
<th colspan="2"><label>Monthly Expenses</label></td>
</tr>
<tr>
<td><label>Rent/ Mortgage -</label></td><td><input value="" id="rent" name="rent" type="text"></td>
</tr>
<tr>
<td><label>Utilities -</label></td><td><input value="" id="utils" name="utils" type="text"></td>
</tr>
<tr>
<td><label>Car Payment -</label></td><td><input value="" id="car" name="car" type="text"></td>
</tr>
<tr>
<td><label>Insurance<br />Payments -</label></td><td><input value="" id="ins" name="ins" type="text"></td>
</tr>
<tr>
<td><label>Prescriptions -</label></td><td><input value="" id="persc" name="persc" type="text"></td>
</tr>
<tr>
<td><label>Food -</label></td><td><input value="" id="food" name="food" type="text"></td>
</tr>
<tr>
<td><label>Child Support -</label></td><td><input value="" id="child" name="child" type="text"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#000000" height="2px"></td>
</tr>
<tr>
<td><label>Total Expenses</label></td><td><input id="me" name="me" type="text"></td>
</tr>
<tr>
<td><label>Discretionary Income</label></td><td><input id="net" name="net" type="text"></td>
</tr>
</tbody></table>

</td>
<td valign="top">

<table>
<tbody><tr>
<tr>
<td><label>Past Due</label></td><td><input value="" id="pass" name="pass" type="text"></td>
</tr>
<tr>
<td><label><em>Recommended</em><br />Down Payment</label></td><td><input value="" id="sdown" name="sdown"

type="text"></td>
</tr>
<tr>
<td><label>Down Payment</label></td><td><input value="" id="down" name="down" type="text"></td>
</tr>
<tr>
<td><label>Net Debt Owed</label></td><td><input id="netd" name="netd" type="text"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#000000" height="2px"></td>
</tr>
<tr>
<td><label>6 Month payoff</label></td><td><input value="" id="mth6" name="mth6" type="text"></td>
</tr>
<tr>
<td><label>12 Month payoff</label></td><td><input value="" id="mth12" name="mth12" type="text"></td>
</tr>
<tr>
<td><label>18 Month payoff</label></td><td><input value="" id="mth18" name="mth18" type="text"></td>
</tr>
<tr>
<td><label>24 Month payoff</label></td><td><input value="" id="mth24" name="mth24" type="text"></td>
</tr>
<tr>
<td colspan="2" align="center"><font size="2"><strong>- - FOLLOWING MUST BE - -<br />- - APPROVED BY CLIENT -

-</strong></font></td>
</tr>
<tr>
<td><label>50% Settlement</label></td><td><input value="" id="set50" name="set50" type="text"></td>
</tr>
<tr>
<td><label>75% Settlement</label></td><td><input value="" id="set75" name="set75" type="text"></td>
</tr>
<tr>
<td><label>80% Settlement</label></td><td><input value="" id="set80" name="set80" type="text"></td>
</tr>
<tr>
<td><label>85% Settlement</label></td><td><input value="" id="set85" name="set85" type="text"></td>
</tr>
<tr>
<td></td><td><input class="but" type="reset" value="Reset Fields"></td>
</tr>
</tbody></table>

</form>
</td>
</tr>
</tbody>
</table>
<div align="right">Version 1.7</div>
</div>

<script type="text/javascript" src="calc/yahoo-dom-event.js"></script>
<script type="text/javascript">
function getNumber(str) {
if (null == str) {
return 0;
}
// Remove leading and trailing whitespace with replace(/^\s*¦\s*$/g,'')
var n = Number(str.replace(/^\s*¦\s*$/g,''));
if (isNaN(n)) {
return 0;
}
return n
}
function countvals() {
var $ = YAHOO.util.Dom.get;
// Get the numeric values of all inputs (and update the form in case user
// entered invalid data)
var tdo= getNumber($('tdo').value); $('tdo').value = tdo;
var mi = getNumber($('mi').value); $('mi').value = mi;
var rent= getNumber($('rent').value); $('rent').value = rent;
var utils= getNumber($('utils').value); $('utils').value = utils;
var car= getNumber($('car').value); $('car').value = car;
var ins= getNumber($('ins').value); $('ins').value = ins;
var persc= getNumber($('persc').value); $('persc').value = persc;
var food= getNumber($('food').value); $('food').value = food;
var child= getNumber($('child').value); $('child').value = child;
var me= getNumber($('me').value); $('me').value = me;
var net= getNumber($('net').value); $('net').value = net;
var pass= getNumber($('pass').value); $('pass').value = pass;
var sdown= getNumber($('sdown').value); $('sdown').value = sdown;
var down= getNumber($('down').value); $('down').value = down;
var netd= getNumber($('netd').value); $('netd').value = netd;
// Calculate
me = rent + utils + car + ins + persc + food + child; $('me').value = me;
net = mi - me; $('net').value = net;
netd = tdo-(pass+down); $('netd').value = netd;
// Since we just modified netd, we need to get that new value again
$('sdown').value = (((net*.25)+(tdo*.25))/2).toFixed(2);
$('mth6').value = (netd/6).toFixed(2);
$('mth12').value = (netd/12).toFixed(2);
$('mth18').value = (netd/18).toFixed(2);
$('mth24').value = (netd/24).toFixed(2);
$('set50').value = (tdo*.5).toFixed(2);
$('set75').value = (tdo*.75).toFixed(2);
$('set80').value = (tdo*.8).toFixed(2);
$('set85').value = (tdo*.85).toFixed(2);

}
YAHOO.util.Event.on(window, 'load', function() {
// Attach event handlers to all of the inputs
YAHOO.util.Event.on(document.getElementsByTagName('input'), 'change', countvals);
countvals();
});
</script>
</body></html>

Fotiman

7:56 pm on Sep 27, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Perhaps you could do something like this:

function roundUp(n)
{
// 1. Divide by 10 to create a decimal value
n = n / 10; // n = 123.4
// 2. Use the Math.ceil method to round it up
n = Math.ceil(n); // n = 124
// 3. Multiple by 10
n = n * 10; // n = 1240
return n;
}
alert(roundUp(1234));

I'm not sure if there are any cases where this will fail, but this is what I came up with just quickly.
Hope it helps.

[edited by: Fotiman at 7:59 pm (utc) on Sep. 27, 2007]

Dabrowski

5:34 pm on Sep 28, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Yeah, that's the way I would have done it.

You could put an error check in......

function roundUp(n) { 

// Check to see that n contains only number and possibly a .
return if(!n.match( /^[\d\.]+$/));

// 1. Divide by 10 to create a decimal value
n = n / 10; // n = 123.4

// 2. Use the Math.ceil method to round it up
n = Math.ceil(n); // n = 124

// 3. Multiple by 10
n = n * 10; // n = 1240

return n;
}

alert(roundUp(1234));

(again, untested but should work)