使用POI导入小数变成浮点数异常

例如   我在Excel中的数据为17.2, 导入到表中就变成了17.1999999或者17.20000001

原因是我用double接收了17.2,然后直接用了String去转换,精度就丢失了。

代码如下

double resultVar;
resultVar = cell.getNumericCellValue();
cellContent = String.valueOf(resultVar);

 

经修改使用 

DecimalFormat df = new DecimalFormat("#.##########");

即可解决该问题,

代码如下

double resultVar;
DecimalFormat df = new DecimalFormat("#.##########");
resultVar = cell.getNumericCellValue();
// cellContent = String.valueOf(resultVar);
cellContent = df.format(resultVar);

 

你可能感兴趣的:(使用POI导入小数变成浮点数异常)