首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX格式双TableColumn格式

JavaFX格式双TableColumn格式
EN

Stack Overflow用户
提问于 2018-02-11 15:30:21
回答 1查看 5K关注 0票数 2
代码语言:javascript
复制
TableColumn<Product, Double> priceCol = new TableColumn<Product,Double>("Price");
priceCol.setCellValueFactory(new PropertyValueFactory<Product, Double>("price"));

如何将此列中的双数格式化为小数点2位(因为它们是价格列)?默认情况下,它们只显示小数点1位。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-11 15:35:36

使用单元格工厂生成使用货币格式化程序格式化所显示文本的单元格。这意味着价格将被格式化为当前区域设置中的货币(即使用本地货币符号和小数位数的适当规则,等等)。

代码语言:javascript
复制
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
priceCol.setCellFactory(tc -> new TableCell<Product, Double>() {

    @Override
    protected void updateItem(Double price, boolean empty) {
        super.updateItem(price, empty);
        if (empty) {
            setText(null);
        } else {
            setText(currencyFormat.format(price));
        }
    }
});

注意,这是在您已经使用的cellValueFactory之外的。cellValueFactory确定在单元格中显示的值;cellFactory确定定义如何显示它的单元格。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48733121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档