2016-11-19 63 views
-4

我已经对此进行了一些研究,仅找到了字符串格式化的解决方案。我试图格式化一个十进制数字尾随0,没有任何转换为​​字符串。如何格式化JavaFX中的double值TableView

例如:0.439 - > 0.4390

这怎么办?

我使用十进制数字填充表格。我只是希望它看起来整洁。

+0

如果你只是想显示它,为什么不能转换为字符串? – user3437460

+0

@ user3437460我使用十进制数字填充表格。我只是希望它看起来整洁。 – Milan

+1

只需使用您找到的方法即可。 String.format()或DecimalFormat。如果你正在填充一个sql表格,那么你可以使用不同的标签,并询问如何在表格中格式化数字。 – user3437460

回答

0

@Milan您是否使用SimpleStringProperty作为您的字段类型?

都能跟得上我使用的ArrayList

这并不是说使用String.format()DecimalFormat类的格式不工作。这是因为表模型中的字段不是String类型的字段。

将您的double值格式化为字符串后,您仍然必须将其转换为类似于您的表格字段的类型。

+0

让我试试:) – Milan

+0

@Milan你可能想要在链接中粘贴你的TableModel代码。 – user3437460

+0

你不应该改变数据类型,只是为了方便按照你想要的方式显示它。如果数据是数字,则需要将它们保留为数字数据类型。否则当你真的需要在某处使用数据时,你会发现你必须进行各种类型的转换。 –

-1

如果要执行计算并将结果作为double发送到表/ api,可以使用BigDecimal。所以你可以设置舍入,数字等,然后得到双值。

BigDecimal d = new BigDecimal(1.0); 
d = d.setScale(2, BigDecimal.ROUND_CEILING); 
d = d.multiply(new BigDecimal(2.0)); 
double tableValue = d.doubleValue(); 
相关问题