我试图在oracle database.i m中插入BigInteger值,尝试这样:
BigInteger a=new BigInteger("4280972057205720579205792572075927209857");
String str=new String(a.toByteArray());
现在在数据库中:
PerparedStatement pstmt=con.prepareStatement("insert into database values(?)");
pstmt.setString(1,str);
pstmt.executeUpdate();
如果我正在使用str="hello"
那么它工作正常。但是如果我正在使用str=new String(a.toByteArray())
那么在数据库中没有插入任何内容(null)。为什么它是如此。请解释并建议一些方法这样做。
答案 0 :(得分:3)
返回包含此BigInteger的二进制补码表示的字节数组。字节数组将采用big-endian字节顺序:最重要的字节位于第0个元素中。
这与在Decimal中表示它无关!您想使用BigInteger.toString()
来获取字符串。
答案 1 :(得分:0)
使用方法toString()
String str=a.toString();