我已經對此進行了一些研究,僅找到了字符串格式化的解決方案。我試圖格式化一個十進制數字尾隨0,沒有任何轉換爲字符串。如何格式化JavaFX中的double值TableView
例如:0.439 - > 0.4390
這怎麼辦?
我使用十進制數字填充表格。我只是希望它看起來整潔。
我已經對此進行了一些研究,僅找到了字符串格式化的解決方案。我試圖格式化一個十進制數字尾隨0,沒有任何轉換爲字符串。如何格式化JavaFX中的double值TableView
例如:0.439 - > 0.4390
這怎麼辦?
我使用十進制數字填充表格。我只是希望它看起來整潔。
@Milan您是否使用SimpleStringProperty作爲您的字段類型?
都能跟得上我使用的ArrayList
這並不是說使用String.format()
或DecimalFormat
類的格式不工作。這是因爲表模型中的字段不是String
類型的字段。
將您的double值格式化爲字符串後,您仍然必須將其轉換爲類似於您的表格字段的類型。
讓我試試:) – Milan
@Milan你可能想要在鏈接中粘貼你的TableModel代碼。 – user3437460
你不應該改變數據類型,只是爲了方便按照你想要的方式顯示它。如果數據是數字,則需要將它們保留爲數字數據類型。否則當你真的需要在某處使用數據時,你會發現你必須進行各種類型的轉換。 –
如果要執行計算並將結果作爲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();
如果你只是想顯示它,爲什麼不能轉換爲字符串? – user3437460
@ user3437460我使用十進制數字填充表格。我只是希望它看起來整潔。 – Milan
只需使用您找到的方法即可。 String.format()或DecimalFormat。如果你正在填充一個sql表格,那麼你可以使用不同的標籤,並詢問如何在表格中格式化數字。 – user3437460