当前位置: 首页>后端>正文

easyexcel @NumberFormat("#.##%") 注解 BigDecimal 格式化 .%

1.问题:

使用最版本 easyexcel 3.3.2 ,导出字段类型为 BigDecimal ,并使用 @NumberFormat("#.##%")格式化 导出, 当字段值为 0.0 时 会被format成 .% => 预期被格式化为: 0.00%

easyexcel @NumberFormat("#.##%") 注解 BigDecimal 格式化 .%,第1张

搜索问题issue,easy bug 说最新版本已修复,试了下easyexcel 3.3.2 还是存在问题
https://github.com/alibaba/easyexcel/issues/1306

环境说明:

SpringBoot 2.3.5
JDK8
pom.xml 依赖 easyexcel 版本为 3.3.2

         <!-- easyexcel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.3.2</version>
        </dependency>

2.fix方案:

@NumberFormat(value = "#.##%", roundingMode = RoundingMode.HALF_UP) 修改为如下

         @ExcelProperty(value = "百分比", order = 5)
         @NumberFormat(value = "0.00%", roundingMode = RoundingMode.HALF_UP)
         private BigDecimal percent;

3.效果

当percent字段值为 0.0 时 会被format成 0.00%


easyexcel @NumberFormat(&quot;#.##%&quot;) 注解 BigDecimal 格式化 .%,第2张

bug issues:

https://github.com/alibaba/easyexcel/issues/1306


https://www.xamrdz.com/backend/3ad1936069.html

相关文章: