J'utilise Math.Round(1.7346, 2, AwayFromZero)
ce qui devrait me donner 1,74 - mais il me donne en fait 1,73.
Je sais que c'est à cause de ça :
"En raison de la perte de précision que peut entraîner la représentation de décimales sous forme de nombres à virgule flottante ou en effectuant des opérations arithmétiques sur des valeurs à virgule flottante, dans certains cas, la fonction Round(Double, Int32, MidpointRounding) peut ne pas sembler arrondir les valeurs de points comme spécifié par le paramètre mode. Ceci est illustré dans l'exemple exemple suivant, où 2,135 est arrondi à 2,13 au lieu de 2,14. Cela se produit car, en interne, la méthode multiplie la valeur par 10 * chiffres, et l'opération de multiplication dans ce cas souffre d'une erreur de calcul. perte de précision".
Mais quelle méthode .NET dois-je utiliser pour effectuer un arrondi correct ?