Java POI读取excel中数值精度损失怎么办

  介绍

这篇文章主要为大家展示了Java POI读取excel中数值精度损失怎么办,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

<强>描述:

excel单元格中,纯数字的单元格,读取后后面会加上0。

例如:1——比;1.0

而使用下面的方法,可能会对小数存在精度损失

cell.setCellType (CellType.STRING);//读取前将单元格设置为文本类型读取

例如:2.2——比;2.1999999997

目前的解决办法:

<强>一。将excel单元格改为文本类型

注意,直接修改单元格属性不管用,使用分列的方式,可以实现将数值改为文本类型。

<强>二。java处理

公共类CommonUtil {
  
  私有静态NumberFormat NumberFormat=NumberFormat.getNumberInstance ();
  
  静态{
  numberFormat.setGroupingUsed(假);
  }
  
  公共静态字符串getCellValue(细胞细胞){
  如果(null==细胞){
  返回“,“;
  }
  对象价值;
  开关(cell.getCellTypeEnum ()) {//省略
  例数字:
  双d=cell.getNumericCellValue ();
  值=https://www.yisu.com/zixun/numberFormat.format (d);//关键在这里!//省略
  }
  返回值==null & # 63;“”:value.toString ();
  }
  }

上面的方法可以获取一个正确的数的值。

以上就是关于Java POI读取excel中数值精度损失怎么办的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。

Java POI读取excel中数值精度损失怎么办