Existe-t-il un moyen simple en C# d'arrondir une décimale au quart le plus proche iex0, x.25, x.50 x.75 par exemple 0.21 arrondirait à 0.25, 5.03 arrondirait à 5.0Arrondir une décimale au quart le plus proche en C#
Merci d'avance pour toute aide.
Existe-t-il un moyen simple en C# d'arrondir une décimale au quart le plus proche iex0, x.25, x.50 x.75 par exemple 0.21 arrondirait à 0.25, 5.03 arrondirait à 5.0Arrondir une décimale au quart le plus proche en C#
Merci d'avance pour toute aide.
vous pouvez utiliser UltimateRoundingFunction donné dans ce blog: http://rajputyh.blogspot.in/2014/09/the-ultimate-rounding-function.html
//amountToRound => input amount
//nearestOf => .25 if round to quater, 0.01 for rounding to 1 cent, 1 for rounding to $1
//fairness => btween 0 to 0.9999999___.
// 0 means floor and 0.99999... means ceiling. But for ceiling, I would recommend, Math.Ceiling
// 0.5 = Standard Rounding function. It will round up the border case. i.e. 1.5 to 2 and not 1.
// 0.4999999... non-standard rounding function. Where border case is rounded down. i.e. 1.5 to 1 and not 2.
// 0.75 means first 75% values will be rounded down, rest 25% value will be rounded up.
decimal UltimateRoundingFunction(decimal amountToRound, decimal nearstOf, decimal fairness)
{
return Math.Floor(amountToRound/nearstOf + fairness) * nearstOf;
}
Appelez ci-dessous pour l'arrondissement standard. c'est-à-dire que 1,125 sera arrondi à 1,25
UltimateRoundingFunction(amountToRound, 0.25m, 0.5m);
Appelez ci-dessous pour arrondir les valeurs de bordure. à savoir 1,125 sera arrondi à 1,00
UltimateRoundingFunction(amountToRound, 0.25m, 0.4999999999999999m);
soi-disant « Arrondi du banquier » est pas possible avec UltimateRoundingFunction, vous devez aller avec la réponse de paxdiablo pour que le soutien :)