Solved

RoundUp in Access VBA

Posted on 2013-12-19
9
536 Views
Last Modified: 2013-12-19
I am trying to round a number (double) up to the next integer.  Here is a sample of the results I am looking for:

 1.25 rounds to 2
 .333 rounds to 1
 1.8 rounds to 2
1.111 rounds to 2

and so forth.  Anyone have a function to do this?
0
Comment
Question by:marku24
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 21

Accepted Solution

by:
Boyd (HiTechCoach) Trimmell, Microsoft Access MVP earned 250 total points
ID: 39730549
Try:

Int([Your Number]+0.99999)

Open in new window

0
 

Author Closing Comment

by:marku24
ID: 39730567
that is just ridiculously simple, but it does work.

thanks
0
 
LVL 75
ID: 39730605
Of course, this fails:

int(1.000001 +.999999)
 = 1
as well as other cases.

This never fails:

-Int(-[YourNumber)

-int(-1.000001)
= 2

Thanks for Gustav (cactus_data) for this trick.
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 21
ID: 39730648
Great trick to round down a negative.

This also works. You must force the data type for teh math.

? int(CDbl(1.000001 +.999999))
2
0
 

Author Comment

by:marku24
ID: 39730661
thank you very much.
0
 
LVL 75
ID: 39730702
Fails:
int(CDbl(1.0000000001 +.999999))
 =1

:marku24:
if you want accuracy, use this to Round up:
-Int(-[YourNumber])

Round down:

Int(YourNumber)

mx
0
 
LVL 21
ID: 39730776
I agree that -Int(-[YourNumber]) eliminates the chances for errors in accuracy. It should be the preferred method.

And it works for negative numbers!
? -int(-(-1.1))
-1 

Open in new window

0
 

Author Comment

by:marku24
ID: 39730782
will do.  I am looking for rounding up only and will adjust accordingly.
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 39731160
Thanks Joe!

I should add that I can't take the credit, I'm rather the messenger. The method is as old as BASIC itself.

/gustav
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question