SQL Expressデータベースに小数点(18,2)フィールドがあります。十進数の値が正しく丸められていません
ここでいくつかの集計が起こったときに結果が得られます。私は時々1セントを失う。
結果が192,84ユーロであるとします。私のプログラムでは192,83ユーロと表示されますが、計算機で集計すると192,84と表示されます。
なぜこのようなことが起こる可能性がありますか。私は形式の文字列通貨でDevExpressコントロールを使用します。 フィールドを10進数(18,3)に変更するアイデアはありますか?
はありがとう
値は、初めてのショーのためにsumingされている[EDIT]今
(例えば1.074,65として1.074,64)私はそれを切り捨てますが、正しいです見ることができました第2の端、65。
例:194,61 + 182,20 + 697,84 = 1.074,65ですが、1.074,64になります。これらの値をもう一度取得しようとすると、正しく表示されます。
いつも丸めるべきですか?小数点以下の値を計算する最も良い方法は何ですか?
いくつかのコード:
SumingTotal = AnObject.ListOfAType.Sum(p => p.DecimalProperty) +
(DecimalValue1 + DecimalValue2);
は1.074,65に等しいが、私はこれらの 値を示す環境から抜け出す場合1.074,64を示し、いくつかは、データベースに保存した後、再びそれらをチェックして、再計算するようにしてくださいフォームに入力すると正しく表示されますが、データベースにはすでに間違っています。
ありがとうございます。
私はデータベースのフィールドに小数点の型(18,2)の型で格納していますが、私はそれを取得しません。 –
Hmm。あなたは合わない正確なリストを表示できますか? – smirkingman
私はいくつかのコードを投稿しようとします.... –