Q3 记POI失去进度问题

问题描述

excel表中存在数值元素3.1,直接读取时,表现为3.0999999..
原代码为:

String value = String.valueOf(cell.getNumericCellValue());

问题解决

1.修改excel数值格式为文本
个人不建议这个方法
2.double类型接收,格式化后在转换格式

private static NumberFormat numberFormat = NumberFormat.getNumberInstance();
//省略...
        switch (cell.getCellTypeEnum()) {
            // 省略...
            case NUMERIC:
                double d = cell.getNumericCellValue();   
                value = String.valueOf(numberFormat.format(d));  
            //省略 ...
        }

学习参考:Java POI读取excel中数值精度损失 https://www.cnblogs.com/magicya/p/12626377.html

你可能感兴趣的:(Q3 记POI失去进度问题)