格式化 Bigdecimal。 JavaFX

Formatting Bigdecimal. JavaFX

我想在我的 JavaFx 应用程序的 TableColumn 中打印 BigDecimal。但是我无法正确格式化它。

我试过这个:

DecimalFormat df = new DecimalFormat("#,###.00");
tc_ma_sell_amount.setCellValueFactory(cellData -> new SimpleStringProperty(df.format(cellData.getValue().getSellAmount()).toString()));

格式没问题,打印出1 005 689.56。但是这里的问题是,当我根据我的应用程序中的这一列对 table 进行排序时,它引用这些值就好像它们是字符串并且排序不正确。

我做了以下更改:

tc_ma_sell_amount.setCellValueFactory(cellData -> new SimpleObjectProperty<BigDecimal>(cellData.getValue().getSellAmount()));

这里,格式不对。 (1005689.5600),但排序工作正常。我必须更改什么才能获得正确的格式 ("#,###.00") 和排序?

我自己做的。

tc_ma_sell_amount.setCellFactory(param -> {
            return new TableCell<ConversionDeals, BigDecimal>(){
                @Override
                protected void updateItem(BigDecimal item, boolean empty) {
                    super.updateItem(item, empty);
                    if(empty || item == null){
                        setText("");
                    } else {
                        setText(df.format(item));
                    }
                }
            };
        });