【问题标题】:"2147483647" is excel default value?“2147483647”是excel默认值吗?
【发布时间】:2015-05-15 05:39:22
【问题描述】:

我正在上传一个带有一些值的 .xlsx 文件。 在我的 .xlsx 文件中,在单元格中输入 2345678910。接下来我将上传,但它保存在数据库 2147483647 值中。 下次我用 8345678910 值上传但显示错误。

错误:已保存 2147483647 值。

My Reg Exp:"^[a-zA-Z0-9]*$"

如何解决?

【问题讨论】:

  • "保存在数据库中"!!什么类型的数据库?您是指 XLS 文件本身吗?
  • 我使用的是 Oracle 10g。是 Excel 问题还是我的 java 代码问题?
  • 你在Oracle数据库中存储这个值的字段的数据类型是什么?还要记住2147483647是java中int的最大值:见:community.oracle.com/thread/2124366
  • 为了获得更好的帮助,贴出java的源码;张贴表格的结构;详细解释你的问题。
  • int 不能存储大于 2^31-1 的值

标签: java excel


【解决方案1】:

@ktorn 和许多其他评论者已经对答案发表了评论。 在您的 Java 代码中使用long 而不是intint 不能存储大于 2^31 - 1 = 2147483647 的值。

【讨论】:

  • 您好,我有点怀疑。在我的数据库中,我为一个字段分配的 datatype 是 varchar(255)。在 java 中,我使用 long 来获取价值。 longdouble 哪个最好。我希望允许数值、特殊字符和所有...
  • 如果您只需要整数,请使用long,如果您想包含小数,请使用double。见stackoverflow.com/questions/415924/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
相关资源
最近更新 更多