介绍
这篇文章主要为大家展示了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中数值精度损失怎么办的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。