例如 我在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);