当 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 的幂?的主要内容,如果未能解决你的问题,请参考以下文章