我有一個JTable,其中一列是美元和美分的金額。我將這個TableColumn定義爲Double,它右對齊,並且在排序時,它將它排序爲double(而不是字符串)。這一切都很好。 我現在的問題是它截斷了尾部零。 100.00顯示爲100 0.00顯示爲0等。我嘗試了一個TableCellRenderer,但儘管這會導致顯示的數據列的尾部爲零,但數量現在都是左對齊的,並且JTable將其視爲字符串。
我希望在顯示中保留尾隨零,但也要保留數據類型,以便進行排序和右對齊。如果有更好的方法來做到這一點,數據類型不需要是雙精度型的。在JTable中顯示錢幣,但保留排序爲雙倍的能力
0
A
回答
4
我找到了完美的鏈接。這工作第一次。只需複製代碼。
http://tips4java.wordpress.com/2008/10/11/table-format-renderers/
3
如果你想精確地處理金錢,你應該代表它作爲美分和整型,或BigInts如果你要處理大量。浮點數可能會導致問題,因爲他們患有precision problems
這將保留您的排序能力,消除尾隨零的問題,提供您所需的精度,並且使用自定義渲染器,您可以將小數點它需要。
相關問題
- 1. CMIS保留能力
- 2. WAR內的文件顯示爲雙倍
- 3. 在AngularJS中保留所有小數的顯示幣種
- 4. JTable排序與雙表保持同步在Java 1.4
- 5. 的JTable與倍數頭在多排
- 6. 顯示JTable中頭圖標排序沒有排序機制
- 7. 排序陣列rsort(),但保留標題
- 8. JTable排序不顯示圖像
- 9. 保留輸入字符串格式化以解析爲雙倍
- 10. Java字符串 - 在空間上拆分,但保留雙倍空間
- 11. 不能顯示JTable
- 12. Jtable保留列寬
- 13. iOS:NSNumberFormatter從本地貨幣到雙倍
- 14. 顯示雙倍標題的動作
- 15. Vue.js將價值顯示爲價格,但保留爲int
- 16. 爲什麼雙倍「==」和「等於」雙倍?
- 17. 在asp.net中保留gridview排序
- 18. 在AdvancedDataGrid中保留dataProvider中的多列排序作爲GroupingCollection
- 19. 在Eclipse中顯示在JTable中的重音但不在.jar中
- 20. 回聲但保留雙引號
- 21. 保持雙倍最大值爲1.0
- 22. 得到雙倍從火力地堡
- 23. Grails中保留的更改未在應用程序中顯示
- 24. 在JTable中對雙精度值進行排序
- 25. 在IB中顯示NSDecimalNumber作爲貨幣
- 26. 最近可能的雙倍
- 27. 保留列族中的排序值
- 28. 如何保留JSONObject中的LinkedHashMap排序?
- 29. 保留屬性排序在Haml的
- 30. 跨TableModel保留JTable選擇
很難說失敗的位置,因爲自定義渲染器可以以任何您想要的方式渲染該值,並且它們不會影響模型的數據類型。 (只是想說,讓其他讀者不會認爲自定義渲染器是錯誤的方法) – Kaj