私の知る限り、丸め数が5の場合、数学の丸めは以下のように機能するはずです。
2.435 => 2.44 (Round Up, if rounding to digit(3) is odd number)
2.445 => 2.44 (Round Down, if rounding to digit(4) is even number)
うまく合算すれば、
2.435 + 2.445 = 4.88
2.44 + 2.44 = 4.88
私は.Netでも丸めがこのように機能すると確信しています。
しかし、SQL サーバーでは、5 は常に切り上げられますが、これは数学的に正しくありません。
SELECT round(2.345, 2) = 2.35
SELECT round(2.335, 2) => 2.34
これにより、丸められた値の合計に 1 セントの不一致が生じます。
2.345 + 2.335 = 4.68
2.35 + 2.34 = 4.69 => which is not correct
私はこれを10進数とお金のデータ型で試しました。
私は何か間違ったことをしていますか?これに対する回避策はありますか?