2016-08-28 13 views
0

私はアプリケーション計算でBigDecimal変数を使用しています。 Bigdecimalの値が2.9922でSQL Server 2012にデータを保存する場合、DBに2.99のレコードがあります。このような丸めは私にとっては問題ありませんが、時にはDB内のレコードを新しい計算と比較する必要があります。同じ丸め方法を使用する必要があります。SQL Server丸めに相当するJavaの丸め方法

私の質問は、SQL Server 2012の丸め方法と同じになるJavaの丸め方法は何ですか?

BigDecimal.ROUND_DOWNまたはBigDecimal.ROUND_UPROUND_HALF_EVENまたはどちらですか?

+0

あなたはこれらのオプションのそれぞれのドキュメントを読みましたか? –

答えて

0

基本的には、小数点以下の桁でスケールを扱いたいと思う。 これは、db内のデータ列の小数点以下桁数を変更できるかどうかを示します。 たとえば、列名が - > [値] DECIMAL(15,2) - >の場合は、alter tableスクリプトを使用して[値] DECIMAL(15,5)に変更できます。

BigDecimal.ROUND_DOWNまたはBigDecimal.ROUND_UPは異なるユースケースを満たすためです。

あなたが参照することができますここで述べたように、javaからスケールを制御することができます。 Efficient BigDecimal round Up and down to two decimals

おかげ

+1

私はDBに変更を加える必要はありません。私は私のDBと同じ丸められた値を得るためにコードを変更する必要があります。 – Purmarili