[alibaba/easyexcel]2.0.4版本bug,读取excel2007数据格式的数据,用String类型接收精度丢失,测试数据4.9 读取的时候丢失精度

2024-05-30 719 views
5

触发场景描述 Excel2007读取 触发Bug的代码

  @Data
public class DemoData {
    private String string;
    private Date date;
    private String doubleData;
}

doubleData精度丢失,读取的数值变成4.9000000000000004

回答

9

这个问题 一直存在。你可以尝试 将.xslx 改成.zip,打开sheet1.xml 里面应该存的就是4.9000000000000004。 后续会想办法修复这个问题 。

6

2.0.0-beta6这个版本读取没有发现这个问题,但是这个版本有些其它的问题,比如数字自动转科学计数等问题,麻烦后续修复了告知一声,tks

2

最好提供下文件。或者你用double去接收 然后格式化

6

测试文件就是源码ReadTest.simpleRead读取的demo.xlsx文件,把sheet1中数字标题那列值改成4.9,然后DemoData这个类doubleData字段类型改成String。2.0.4版本不行丢失精度,2.0.0-beta6版本测试没有丢失精度

7

附件为读取的excel文件

3

请提供附件 我这里测试没问题。或者和你office版本有关系

9

您是否已经解决了问题?如果未解决 请详细描述后 重新打开此问题

2

您是否已经解决了问题?如果未解决请详细描述后重新打开此问题

我也遇到了相同的问题,用String来接收,excel里设置的是文本格式,值2.3,读取后变成了2.2999999999999998。使用的版本是2.1.3。

4

请问这个问题解决了吗?

6

触发场景描述 Excel2007读取 触发Bug的代码

  @Data
public class DemoData {
    private String string;
    private Date date;
    private String doubleData;
}

doubleData精度丢失,读取的数值变成4.9000000000000004

请问这个问题解决了吗?