13,096,798 members (82,965 online)
Rate this:
See more:
I want to round the decimal value like this
if 5.50 => 5
if 5.51 => 6 ..
I want if the decimal value after point getter than .50 then the value increment by 1.
I used Math.Round() function, but it's round after .49 decimal value..
Posted 21-Feb-13 0:31am
Updated 25-Jan-17 2:35am
Philippe Mori 25-Jan-17 12:40pm

Using non standard rounding seems suspicious...

Rate this:

## Solution 3

Use a custom rounding system:

```public int Round(double value)
{
double decimalpoints = Math.Abs(value - Math.Floor(value));
if (decimalpoints > 0.5)
return (int)Math.Round(value);
else
return (int)Math.Floor(value);
}```

Hope this helps. :-)
Jayanta Chatterjee 21-Feb-13 6:50am

Thanks a lotttttttttttt Sir..
Rate this:

## Solution 4

```public int myRound(double val)
{
return (int)Math.Floor(val + .49);
}```

I don't like "magic numbers" so you might want to define a const double and swap it for the 0.49
v2
Jayanta Chatterjee 21-Feb-13 6:55am

I think This is more efficient then previous answers...
Thanks Sir....
Thanks a Lottttttttttt...:-)
Philippe Mori 25-Jan-17 12:39pm

But it will not do the same thing for .495!
CHill60 27-Jan-17 10:50am

I think your comment means that it won't work for values such as 5.501 for example. True, point well made. The solution is to use 0.499 as the magic number, or as many 9's as you suspect you will have digits after the decimal point. Not nice.
Although the OP stated they found my solution more efficient, Solution 3 is the better answer and works regardless of the mantissa.
Rate this:

## Solution 1

basic and simple way , you can convert decimal (5.50) to int (5) and you can check for 5.50-5 greater or lower than .50 if bigger then apply your algorithim..but i dont know any other function does that automaticly.
Jayanta Chatterjee 21-Feb-13 6:44am

how to get after point(.) values?
boogac 21-Feb-13 6:47am

decimal yourDecimal=5.50;
int temp = (int)yourDecimal;//or Convert.toInt32(..) 5.50 will be 5
decimal pointAfterDecimal= yourDecimal-(decimal)temp;
Rate this:

## Solution 2

try,
String.Format("{0: 0}", _decimal_value);

hopes this work for you.
v2

Top Experts
Last 24hrsThis month
 Graeme_Grant 190 OriginalGriff 118 Jochen Arndt 110 Richard MacCutchan 70 Mohibur Rashid 59
 OriginalGriff 4,174 Graeme_Grant 2,412 ProgramFOX 2,067 Jochen Arndt 1,835 ppolymorphe 1,755