我正在使用java和Apache derby创建一个处理大数字的项目。一切都很顺利,除非我存储大数字。 例如。当我通过我的java类将1000000000保存到derby表时,它会自动变为1.0E9。当以另一种形式检索此值时,它显示为1.0E9。我怎么能阻止这个?我正在使用float数据类型来执行此操作。 换句话说,如何将1000000000保存为1000000000而不是1.0E9
答案 0 :(得分:0)
如上所述,您可以使用BigInteger,或者您可以将1.0E9转换为实际数字。 1.0 x 10 ^ 9。
答案 1 :(得分:0)
1.0e9与1000000000相同;这只是一个代表问题。您只需在将其转换为字符串时应用适当的格式化程序。
使这更容易的两件事是在Derby中使用NUMERIC
列类型,并在Java代码中使用BigDecimal
或BigInteger
数据类型,或者可能使用{ {1}}如果您确信long可以保存问题域中的值。
答案 2 :(得分:0)
import java.math.BigInteger;
//...
//...
//...
BigInteger store = new BigInteger("1000000000");