79 votes

Comment arrondir en c#

Je veux toujours arrondir en c#, donc par exemple de 6,88 à 7, de 1,02 à 2, etc.

Comment puis je faire ça?

150voto

BrokenGlass Points 91618

Utiliser Math.Ceiling()

 double result = Math.Ceiling(1.02);

27voto

Talljoe Points 8423

Utilisez Math.Plafond : Math.Ceiling(value)

6voto

Sunsetquest Points 3086

Si des valeurs négatives sont présentes, Math.Round a des options supplémentaires ( dans .Net Core 3 ou version ultérieure ).

J'ai cependant fait un benchmark (.Net 5/release) et Math.Ceiling() est plus rapide et plus efficace.

 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)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X