Je ne vois pas le résultat attendu avec Math.Round.Arrondir à même en C#
return Math.Round(99.96535789, 2, MidpointRounding.ToEven); // returning 99.97
Si je comprends MidpointRounding.ToEven, 5 dans la position de devrait provoquer la millième sortie soit 99,96. Ce n'est pas le cas?
J'ai même essayé, mais il est revenu 99,97 ainsi:
return Math.Round(99.96535789 * 100, MidpointRounding.ToEven)/100;
Qu'est-ce que je manque
Merci!
Donc, ce que vous dites, c'est que vous voulez qu'il soit _round_ à un nombre qui est plus loin_? C'est une définition étrange de "arrondi". –
C'est l'arrondissement des banquiers pour vous. Pas étonnant que nous soyons dans ce pétrin ;-) –
Non, ce n'est pas l'arrondissement des banquiers. L'arrondi du banquier est lorsque vous choisissez de arrondir à pair * lorsque les deux choix sont également éloignés *. Vous n'êtes pas dans une situation où les deux choix sont également éloignés. L'un d'eux est plus proche que l'autre, et vous voulez choisir celui qui est le plus éloigné. –