0

我正在使用 java 和 Apache derby 创建一个处理大数字的项目。一切都很好,除非我存储大数字。例如。当我通过我的 java 类将 1000000000 保存到 derby 表时,它会自动变为 1.0E9。当以另一种形式检索此值时,它会显示为 1.0E9。我怎样才能阻止这个?我正在使用浮点数据类型来执行此操作。换句话说,我怎样才能将 1000000000 保存为 1000000000 而不是 1.0E9

4

3 回答 3

0

如上所述,您可以使用 BigInteger 或者您可以将 1.0E9 转换为实际数字。1.0 x 10^9。

于 2013-10-22T16:45:32.953 回答
0

1.0e9 与 1000000000 相同;这只是一个代表问题。将其转换为字符串时,您只需应用正确的格式化程序。

使这更容易的两件事是NUMERIC在 Derby 中使用列类型,并在 Java 代码中使用BigDecimalorBigInteger数据类型,或者long如果您确信 long 可以保存问题域中的值,则可能是这样。

于 2013-10-22T16:56:55.270 回答
0
import java.math.BigInteger;
//...
//...
//...
BigInteger store = new BigInteger("1000000000");
于 2013-10-22T17:00:58.317 回答