469,360 Members | 1,799 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,360 developers. It's quick & easy.

Rounding Up

Is there a way to make your numbers always round up. Ex:
if the number is 0.0341 it will round to 0.035

Brent
Jul 19 '05 #1
4 10442
If you always want it at the thousandths, you could say:

<%
function roundUp(n)
if clng(n*10000) = 10 * clng(n*1000) then
n = formatnumber(n, 3)
else
n = formatnumber(n + 0.0005, 3)
end if
roundup = n
end function

response.write "<br>" & roundUp(0.0341)
response.write "<br>" & roundUp(0.03409)
response.write "<br>" & roundUp(0.0340)
response.write "<br>" & roundUp(0.0359)

%>

"Brent Bortnick" <br***@hitechseals.com> wrote in message
news:47****************************@phx.gbl...
Is there a way to make your numbers always round up. Ex:
if the number is 0.0341 it will round to 0.035

Brent

Jul 19 '05 #2
"Brent Bortnick" wrote:

Is there a way to make your numbers always round up. Ex:
if the number is 0.0341 it will round to 0.035


JScript:
val = Math.ceil(1000*val)/1000
http://msdn.microsoft.com/library/en...6jsmthceil.asp

VBScript (depends on how you want to handle negative numbers):
If val*1000 <> Fix(val*1000) Then val = Fix(val*1000+1)/1000
If val*1000 <> Int(val*1000) Then val = Int(val*1000+1)/1000
http://msdn.microsoft.com/library/en...l/vsfctint.asp

Of course, both methods introduce you to the problem of representing
decimals with binary digits. See this for details:
http://support.microsoft.com/default...;EN-US;q244699

You can opt for string representations of those numbers with either of the
following.

JScript:
http://msdn.microsoft.com/library/en...mthtofixed.asp

vbscript:
http://msdn.microsoft.com/library/en...rmatNumber.asp
--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
Jul 19 '05 #3
Aaron Bertrand - MVP wrote on 02 jul 2003 in
microsoft.public.inetserver.asp.general:
If you always want it at the thousandths, you could say:

<%
function roundUp(n)
if clng(n*10000) = 10 * clng(n*1000) then
n = formatnumber(n, 3)
else
n = formatnumber(n + 0.0005, 3)
end if
roundup = n
end function

response.write "<br>" & roundUp(0.0341)
response.write "<br>" & roundUp(0.03409)
response.write "<br>" & roundUp(0.0340)
response.write "<br>" & roundUp(0.0359)

%>


Or:

function roundUp(n)
n = int(n*1000+0.999999)/1000
roundup = formatnumber(n, 3)
end function
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Jul 19 '05 #4
"Aaron Bertrand - MVP" wrote:

if clng(n*10000) = 10 * clng(n*1000) then
n = formatnumber(n, 3)
else
n = formatnumber(n + 0.0005, 3)
end if


CLng uses Banker's rounding, so it's wise to avoid in an ALWAYS up/down
scenario. Compare the following with this function:

roundUp(0.00105) --> 0.001
roundUp(0.00106) --> 0.002

http://support.microsoft.com/default...;EN-US;Q196652
--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
Jul 19 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Norvin Laudon | last post: by
8 posts views Thread by Zorpiedoman | last post: by
2 posts views Thread by Jiri Nemec | last post: by
18 posts views Thread by jdrott1 | last post: by
5 posts views Thread by Spoon | last post: by
206 posts views Thread by md | last post: by
20 posts views Thread by jacob navia | last post: by
30 posts views Thread by bdsatish | last post: by
reply views Thread by suresh191 | last post: by
1 post views Thread by Marylou17 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.