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