在通过java调用sp时插入错误的值

时间:2016-05-30 06:45:10

标签: java sybase

我试图通过SP在Sybase数据库中插入一个Numeric(9,2)值,该值是通过Java调用的。但是在通过java传递8789.22时,SP在表中插入了8789.00。

1 个答案:

答案 0 :(得分:0)

最初我使用的是Double,但我尝试使用BigDecimal并且它有效。

实施例

Double amt = 2408.22;
BigDecimal bAmt = new BigDecimal(amt);
bAmt = bAmt.SetScale(2,RoundingMode.CEILING);
/* since the data type of amt in sp is Numeric(9,2)*/
/* The SP call was made here with bAmt as input parameter. */

如果不将其缩放到小数点后2位,那么它可能无效。