MySQLデータベースのテーブルにいくつかの値を格納しています。列タイプはdouble(8,2)です。Sum()そのデータをフェッチしてから、LINQの拡張メソッドを呼び出しています。その操作は、例えばを返します384.18。次に、(同じ方法で)2番目の値を取得し、たとえばを取得し384.17ます。
数学を行うと、結果は次のようになります。
384.18 - 384.17 = 0.0099999999999909051
どうして0.01?この方法を使用できることはわかっていますが、Math.Round()なぜその結果が得られるのか疑問に思っています。