我将一个long值插入10位数字的数据库中。 (例如:9876543219)。它正确地保存了数据库中的值。但是当我尝试从数据库中提取数据时,我得到了一个不同的数字,如(1286608627)。
注意:如果数字少于10位,一切正常。
我使用以下代码从数据库中获取数据:
int getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).intValue();
我可以在数据库中看到getMyNumber的值为:9876543219(如预期的那样)。
答案 0 :(得分:1)
使用
long getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).longValue();
因为整数范围仅为2^31-1
或者您可以将其转换为BigInteger
,如下所示:
BigInteger getmyNumber = ((BigDecimal) TTRefermap.get("GET_MY_NUMBER")).toBigInteger();