Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How to round a number in vb.net

Posted on 2011-09-20
4
Medium Priority
?
450 Views
Last Modified: 2012-05-12
Hi Experts,
I need to round numbers up and keep 4 decimal places. as I understand vb does not round up but down.for example the number 0.3456712 needs to be a double type:0.3457
how can I do that please??
0
Comment
Question by:Hagita
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 1

Accepted Solution

by:
jdruper earned 252 total points
ID: 36567532
Hi Hagita,

All you need to do is use the Math.Round() method, it will round up or down depending on your number, you can also use its overload to specify how many places you want to round.

For example:

Math.Round(0.3456712 , 4) will return 0.3457

Math.Round(2.34 , 2) will return 2.30

Hope this helps.
0
 
LVL 18

Assisted Solution

by:lludden
lludden earned 500 total points
ID: 36567541
VB.Net does standard rounding.  If value is .5 or more, it rounds up, else it rounds down

        Dim v As Double = 0.3456712
        MsgBox(Math.Round(v, 4).ToString)

0
 
LVL 18

Assisted Solution

by:lludden
lludden earned 500 total points
ID: 36567559
Actually, it is more precise than that.  The standard method for rounding is that if it is >.5 is rounds up, if it is less than .5 it rounds down.  If it is exactly .5, it rounds either up or down, depending on the value of the previous digit - odd rounds up, even rounds down.

So 1.0055 rounded to 3 places is 1.006 and 1.0045 is 1.005
This is the standard way to even out rounding errors.
0
 
LVL 15

Assisted Solution

by:x77
x77 earned 248 total points
ID: 36567598
       Dim x = Math.Round(1234.545, 2, MidpointRounding.AwayFromZero) ' Result: 1234,55
        Dim y = Math.Round(1234.545, 2, MidpointRounding.ToEven)              'Result:1234,54

Use AwayFromZero to minimize error.

Use ToEven where you are using money. Bank round.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Suggested Courses

721 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