Ik wil altijd naar boven afronden in c#, dus bijvoorbeeld van 6.88 naar 7, van 1.02 naar 2, etc.
Hoe kan ik dat doen?
Antwoord 1, autoriteit 100%
Gebruik Math.Ceiling()
double result = Math.Ceiling(1.02);
Antwoord 2, autoriteit 18%
Gebruik Math.Ceiling:
Math.Ceiling(value)
Antwoord 3, autoriteit 4%
Als er negatieve waarden aanwezig zijn, heeft Math.Roundextra opties (in .Net Core 3 of later).
Ik heb echter een benchmark (.Net 5/release) gedaan en Math.Ceiling() is sneller en efficiënter.
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)