# round number in vb.net

How do we round number in vb.net? 12.65 is a string
12.65 to 13
###### Who is Participating?

x

Commented:
.NET will cast from string to decimal automatically in VB.

Dim Number As String = "12.65"
Dim DecimalNumber As Decimal = Number
Dim DecimalNumberRounded As Decimal = Math.Round(DecimalNumber,0,MidpointRounding.AwayFromZero)
0

Instructor Multiengine PilotCommented:
You can also try this Function .Call it as RoundUpDownNumber(12.65)
``````Private Function RoundUpDownNumber(ByVal val As Decimal) As Decimal
If val < Decimal.Zero Then
Return CDec(Math.Ceiling(CDbl(val) - 0.5))
Else
Return CDec(Math.Floor(CDbl(val) + 0.5))
End If

End Function
``````
0

Author Commented:
I hope you don't mind if I ask this too. What if a number like this. I would like to keep ','
12,456.26  round to 12,456
112,456.45 round to 112,456
6,456.98  round to 6,457
Thank you very much in advance
0

Instructor Multiengine PilotCommented:
the function do that..but beacause it is a decimal you have to set the dec as 12456.26
0

Instructor Multiengine PilotCommented:
otherwise if you already you have the "strings" you can do that:

Dim str As String = "12,456.26"
MessageBox.Show(RoundUpToWholeNumber(Convert.ToDecimal(str.Replace(",", ""))))
0

Instructor Multiengine PilotCommented:
Sorry Wrong Function

Dim str As String = "12,456.26"
MessageBox.Show(RoundUpDownNumber(Convert.ToDecimal(str.Replace(",", ""))))
0

Instructor Multiengine PilotCommented:
Note that also @ed_collen's solution is used several times..
take a look here http://msdn.microsoft.com/en-us/library/system.math.round.aspx
0

Commented:
Just a modification of @ed_collen's code (the very first post):

Dim Number As String = "12,312.65"
Dim DecimalNumber As Decimal = Number
Dim DecimalNumberRounded As String = Math.Round(DecimalNumber, 0, MidpointRounding.AwayFromZero).ToString("###,###,###")

0

Instructor Multiengine PilotCommented:
Can i ask Why you are closing the question rather than accept a solution...there are three you may select.....
0

Commented:
You are asking the moderator to reward the points and close the question for you.
Going forward, you can do it by yourself.
0

Instructor Multiengine PilotCommented:
sorry i didn't check the close comment....very sorry....
0

Author Commented:
0

Author Commented:
thank you
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.