Java中的舍入方法相当于SQL Server舍入

时间:2016-08-28 11:13:40

标签: java sql-server rounding

我在应用程序计算中使用BigDecimal变量。在某些情况下,当Bigdecimal值为2.9922并且我将数据保存到SQL Server 2012时,我在DB中获得了2.99的记录。这种舍入对我来说没问题,但有时我需要将DB中的记录与新计算进行比较,我需要它们采用相同的舍入方法。

所以我的问题是Java中的舍入方法与SQL Server 2012舍入方法的相同之处是什么?

BigDecimal.ROUND_DOWN还是BigDecimal.ROUND_UPROUND_HALF_EVEN还是哪一个?

1 个答案:

答案 0 :(得分:-1)

所以基本上你想要处理十进制值的Scale。 为此:如果您可以在db中更改数据列的小数位。 例如:如果你的列名是 - > [value] DECIMAL(15,2) - >您可以使用alter table script将其更改为[value] DECIMAL(15,5)。

因为BigDecimal.ROUND_DOWN或BigDecimal.ROUND_UP满足不同的用例。

你可以参考gere你可以从这里提到的java控制比例。 Efficient BigDecimal round Up and down to two decimals

由于

相关问题