12,068,520 members (67,298 online)
Rate this:
See more:
I want the rounded off value from the rounded value like :
If I rounded 5.51 --> to 6.00
I want the value which rounded(Here .49 how i get this value?),
and
If I rounded 5.48 --> to 5.00
I want the value which rounded(Here .48 how i get this value?)

Posted 2-Mar-13 21:23pm

Rate this:

Solution 4

First of all, you should look at the problem from a different side and think why do you need rounding. I don't believe you really need it. It is very rarely needed. (One rare exclusion I known is generation of pseudo-random numbers; and I doubt that you are developing something like a new random number generator. )

Much more likely that you simply want to show a rounded value on screen, and this is something very different. In this case, you should think about formatting, but not rounding itself. Please see:
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx[^],
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx[^].

By the way, even if you find a correct way to solve the problem using rounding, think again. It's much safer avoid doing it and focusing on formatting only. You don't want rounding to sneak into your calculations even by accident.

Good luck,
—SA
Abhinav S 14-Apr-13 2:00am

My 5.

Thank you, Abhinav.
—SA
Rate this:

Solution 1

Quote:
Look at Math.Round(decimal)[^] or the overload which takes a MidpointRounding argument.[^]

Of course, you'll need to parse and format the value to get it from/to text. If this is input entered by the user, you should probably use decimal.TryParse, using the return value to determine whether or not the input was valid.

```string text = "19500.55";
decimal value;
if (decimal.TryParse(text, out value))
{
value = Math.Round(value);
text = value.ToString();
// Do something with the new text value
}
else
{
// Tell the user their input is invalid
}```
Jayanta Chatterjee 3-Mar-13 2:55am

Sir, I know the round function and it's works..
I solved it my self...
thanks for helping me... :-)

Ok... Welcome...

Accept this answer as well, so that it will be helpful for others and you will be awarded with some points.

Thanks,
Espen Harlinn 14-Apr-13 16:35pm

5'ed!

Thanks a lot Espen Harlinn... :)
Rate this:

Solution 3

Hi you can do like this:

```double a = 5.50;
string[] str= a.ToString().Split('.');
double num1= Convert.ToDouble("0."+str[1]);
double res;
if (num1 < 0.51)
{
res= Math.Floor(a);
}
else {
res = Math.Round(a);
}```
v3

Top Experts
Last 24hrsThis month
 Dave Kreskowiak 290 CHill60 239 OriginalGriff 204 CPallini 202 Richard Deeming 184
 Dave Kreskowiak 2,126 OriginalGriff 1,501 Richard MacCutchan 1,455 CPallini 1,042 Sergey Alexandrovich Kryukov 992