Ce problème m'a rendu fou. J'utilise Microsoft SQLExpress 2016 pour écrire une procédure stockée. Une des exigences est de faire des arrondis. Mais de temps en temps, l'arrondi est faux. J'ai découvert que l'arrondi T-SQL n'est pas exactement la même chose avec C#, mais pourquoi?TSQL Arrondi VS C# Arrondi
Comparer deux arrondi ci-dessous:
In T-SQL: ROUND(0.045, 2) --> this will produce 0.05
In C#: Math.Round(0.045, 2) --> this will produce 0.04
Pourquoi C# produit 0,04? Ne devrait-il pas être 0.05?
Que dois-je faire pour arrondir C# = arrondi T-SQL? Quelqu'un peut-il m'aider?
Merci, Sam
Sur curiousity, j'ai essayé cela en C#:
Math.Round(0.055, 2)
Devinez, ce que C# arrondi à? Il arrondi à 0,06! Maintenant, je suis complètement confus!
Math.Round(0.045, 2) //this becomes 0.04
Math.Round(0.055, 2) //this becomes 0.06
Quelqu'un peut-il expliquer cela?
Merci
double possible de [pourquoi-t-math-round2-5-retour 2 au lieu-de-3] (http://stackoverflow.com/questions/977796/why-dath-math-round2-5-return-2-instead-of-3). Réponse par Jon Skeet lui-même;) – J2D8T
@ J2D8T pas vraiment un doublon, mais la ressource utile non-le-moins – HoneyBadger