当 jTable 行上的数字很大时,如何不显示 E 的幂?

Posted

技术标签:

【中文标题】当 jTable 行上的数字很大时,如何不显示 E 的幂?【英文标题】:how to not display power of E when the number is big on a jTable row? 【发布时间】:2013-01-05 23:20:22 【问题描述】:

我正在制作一个小型会计程序。然后我的问题是在 jTable 上显示大数字时。

我使用数据库中的SELECT 方法,然后将ResultSet 转换为TableModel,然后将其设置为jTable。问题出在显示大数字时(即 10.000.000 它将在 jTable 上显示 1.0E7)有没有办法保持原始格式(10000000)而不是 1.0E7?

顺便说一下,我使用 Double 类型作为元素类型。

【问题讨论】:

【参考方案1】:

确保您的表模型覆盖 getColumnClass() 并为您的列返回适当的类型 (Double.class)。

这将使表格使用具有默认语言环境的 DecimalFormat 来格式化数字,而不是调用 toString()

旁注:使用双倍的钱,尤其是大金额,是一个非常糟糕的主意。您应该改用 BigDecimal。

【讨论】:

这是一个比我的更好、更相关的答案。傻瓜们冲进来;)【参考方案2】:

之所以说 1.0E7 是因为这是所使用的数字格式提供的精度。这是“大约 10,000,000 行”的一种更科学的说法。

您真的想在数百、十和单位列中提供一个几乎绝对错误的值,而不是声明其分辨率极限的精确估计吗?

【讨论】:

以上是关于当 jTable 行上的数字很大时,如何不显示 E 的幂?的主要内容,如果未能解决你的问题,请参考以下文章

jTable条件显示隐藏基于数据所有者的编辑和删除按钮

如何隐藏 Mac/OSX 拖放 JTable 选择框

java Jtable 如何动态添加button按钮

有没有办法读取 C++ 中连续特定行上的数字?

如何在jTable中读取和搜索文件?

单击 JTable 时鼠标事件不起作用