отображать два десятичных разряда числа с плавающей запятой в TableView JavaFx

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

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

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());

person ilyesky    schedule 18.03.2020    source источник
comment
Думаю, ваш вопрос уже был задан и на него уже был дан ответ. данные столбца TableView установлены на 2 десятичных знака, а также Формат JavaFX удваивается в TableColumn. Ожидается, что вы будете искать ответы, прежде чем задавать вопрос. Я рекомендую вам прочитать Как много исследований ожидается пользователей Stack Overflow?   -  person Abra    schedule 18.03.2020
comment
Абра я читал их но они не работали   -  person ilyesky    schedule 19.03.2020


Ответы (1)


Используйте 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());
        }
    }
});

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

person James_D    schedule 18.03.2020