Отображение денег в JTable, но с сохранением возможности сортировки как двойной - PullRequest
0 голосов
/ 22 июля 2011

У меня есть JTable, где один из столбцов - это сумма в долларах и центах.Я определяю этот TableColumn как Double, и он правильно оправдывает, и при сортировке он сортирует его как double (не как строку).Это все хорошо.Моя проблема сейчас в том, что он усекает конечные нули.100,00 отображается как 100 0,00 отображается как 0 и т. Д. Я попытался использовать TableCellRenderer, но хотя это приводит к отображению столбца money с конечными нулями, все суммы теперь выравниваются по левому краю, и JTable видит это как строку.
Iхотите, чтобы конечные нули сохранялись на дисплеях, но также сохраняли тип данных, чтобы происходила сортировка и правильное выравнивание.Тип данных не должен быть двойным, если есть лучший способ сделать это.

Ответы [ 2 ]

4 голосов
/ 22 июля 2011

Я нашел идеальную ссылку. Это сработало впервые. Просто скопируйте код.

http://tips4java.wordpress.com/2008/10/11/table-format-renderers/

3 голосов
/ 22 июля 2011

Если вы хотите точно обращаться с деньгами, вы должны представлять их в виде центов и целых чисел или BigInts, если вам приходится обрабатывать огромные суммы. Числа с плавающей точкой могут вызвать проблемы, потому что они страдают от проблем точности

Это сохранит вашу способность сортировать, уберет проблему с конечными нулями, даст вам необходимую точность, а с помощью специального средства визуализации вы можете получить десятичную точку, где она должна быть.

...