2016-11-19 60 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(); 
相關問題