通过 java 调用 sp 时插入错误值
Inserting wrong values while sp being invoked through java
我试图通过 Java 调用的 SP 在 Sybase 数据库中插入一个 Numeric(9,2) 值。但是当通过 java 传递 8789.22 时,SP 在 table.
中插入 8789.00
最初我使用的是 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 位,则它可能无法工作。
我试图通过 Java 调用的 SP 在 Sybase 数据库中插入一个 Numeric(9,2) 值。但是当通过 java 传递 8789.22 时,SP 在 table.
中插入 8789.00最初我使用的是 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 位,则它可能无法工作。