Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# WinForm
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?)
 
Please Help me out..
 
Thanks In advance....
Posted 2-Mar-13 21:23pm
Rate this: bad
good
Please Sign up or sign in to vote.

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. Smile | :) )
 
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
  Permalink  
Comments
Abhinav S at 14-Apr-13 2:00am
   
My 5.
Sergey Alexandrovich Kryukov at 14-Apr-13 2:49am
   
Thank you, Abhinav.
—SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Follow the answer Round Off decimal values in C#[^].
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
}
Comments
Jayanta Chatterjee at 3-Mar-13 2:55am
   
Sir, I know the round function and it's works..
I solved it my self...
thanks for helping me... :-)
Tadit Dash at 3-Mar-13 3:14am
   
Ok... Welcome...
 
So, please accept this answer. I can see that you have also posted one answer.
 
Accept this answer as well, so that it will be helpful for others and you will be awarded with some points.
 
Thanks,
Tadit
Espen Harlinn at 14-Apr-13 16:35pm
   
5'ed!
Tadit Dash at 15-Apr-13 4:32am
   
Thanks a lot Espen Harlinn... :)
Rate this: bad
good
Please Sign up or sign in to vote.

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); 
}
  Permalink  
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 410
1 Jochen Arndt 200
2 Richard MacCutchan 135
3 DamithSL 105
4 PIEBALDconsult 90
0 OriginalGriff 6,045
1 DamithSL 4,601
2 Maciej Los 4,032
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,220


Advertise | Privacy | Mobile
Web04 | 2.8.141220.1 | Last Updated 15 Apr 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100