从数据库中提取错误的值

时间:2016-08-16 17:53:17

标签: java database int long-integer

我将一个long值插入10位数字的数据库中。 (例如:9876543219)。它正确地保存了数据库中的值。但是当我尝试从数据库中提取数据时,我得到了一个不同的数字,如(1286608627)。

注意:如果数字少于10位,一切正常。

我使用以下代码从数据库中获取数据:

int getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).intValue();

我可以在数据库中看到getMyNumber的值为:9876543219(如预期的那样)。

1 个答案:

答案 0 :(得分:1)

使用

long getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).longValue();

因为整数范围仅为2^31-1

或者您可以将其转换为BigInteger,如下所示:

BigInteger getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).toBigInteger();