I want to round up always in c#, so for example, from 6.88 to 7, from 1.02 to 2, etc.

How can I do that?

5

3 Answers

Use Math.Ceiling()

double result = Math.Ceiling(1.02); 
6

Use Math.Ceiling: Math.Ceiling(value)

If negative values are present, Math.Round has additional options (in .Net Core 3 or later).

I did a benchmark(.Net 5/release) though and Math.Ceiling() is faster and more efficient.

Math.Round( 6.88, MidpointRounding.ToPositiveInfinity) ==> 7 (~23 clock cycles) Math.Round(-6.88, MidpointRounding.ToPositiveInfinity) ==> -6 (~23 clock cycles) Math.Round( 6.88, MidpointRounding.AwayFromZero) ==> 7 (~23 clock cycles) Math.Round(-6.88, MidpointRounding.AwayFromZero) ==> -7 (~23 clock cycles) Math.Ceiling( 6.88) ==> 7 (~1 clock cycles) Math.Ceiling(-6.88) ==> -6 (~1 clock cycles) 
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy