我试图通过SP在Sybase数据库中插入一个Numeric(9,2)值,该值是通过Java调用的。但是在通过java传递8789.22时,SP在表中插入了8789.00。
答案 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位,那么它可能无效。