views:

585

answers:

2

Guys,

in Excel, =ROUNDUP(474.872126666666, 2) -> 474.88
in .NET,

Math.Round(474.87212666666666666666666666667, 2, MidpointRounding.ToEven) // 474.87
Math.Round(474.87212666666666666666666666667, 2, MidpointRounding.AwayFromZero) // 474.87

My client want Excel rounding result, is there any way I can get 474.88 in .NET?

Thanks a lot

+1  A: 

Math.Ceiling is what you're looking for.

MiffTheFox
Note that OP will need to multiply by 100 before performing Math.Ceiling and then divide by 100, since you can't specify # of decimal points with this function.
Michael Bray
Math.Ceiling(474.87212666666666666666666666667) returns 475 which is not what I want.
Ding
Math.Ceiling(474.87212666666666666666666666667*100)/100 works. thank you both
Ding
+8  A: 
double ROUNDUP( double number, int digits )
  {
     return Math.Ceiling(number * Math.Pow(10, digits)) / Math.Pow(10, digits);
  }
msergeant