отображать два десятичных знака с плавающей запятой в TableView JavaFx - PullRequest
0 голосов
/ 18 марта 2020

Таким образом, в основном я разрабатываю это приложение Javafx, следуя шаблону DAO ... и я хочу, чтобы у числа с плавающей точкой был конец .00 вместо .0 (для представления баланса .. денег) записей баланса в табличном представлении с .0

вот как я инициализировал компоненты таблицы

idC.setCellValueFactory(cellData -> cellData.getValue().idProperty().asObject());
balanceC.setCellValueFactory(cellData -> cellData.getValue().balanceProperty().asObject());
dateC.setCellValueFactory(cellData -> cellData.getValue().dateProperty());
timeC.setCellValueFactory(cellData -> cellData.getValue().timeProperty());

1 Ответ

2 голосов
/ 18 марта 2020

Используйте cellFactory в дополнение к вашему cellValueFactory (я предполагаю balanceC это TableColumn<T, Double> для некоторого типа T:

balanceC.setCellFactory(c -> new TableCell<>() {
    @Override
    protected void updateItem(Double balance, boolean empty) {
        super.updateItem(balance, empty);
        if (balance == null || empty) {
            setText(null);
        } else {
            setText(String.format("%.2f", balance.doubleValue());
        }
    }
});

Вы можете добавлять символы валюты и при необходимости использовать более сложное форматирование.

...