poi 处理excel 小数问题 整数不保留小数位 整数多.0
读取的单元格为 hssfCell ,传入下面我提供的方法处理
默认poi返回的为DOUBLE,所有先转为Long判断下,再进行返回;
private String getValue(Cell hssfCell) { if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) { // 返回布尔类型的值 return String.valueOf(hssfCell.getBooleanCellValue()); } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) { // 返回数值类型的值 Object inputValue = null;// 单元格值 Long longVal = Math.round(hssfCell.getNumericCellValue()); Double doubleVal = hssfCell.getNumericCellValue(); if(Double.parseDouble(longVal + ".0") == doubleVal){ //判断是否含有小数位.0 inputValue = longVal; } else{ inputValue = doubleVal; } DecimalFormat df = new DecimalFormat("#.####"); //格式化为四位小数,按自己需求选择; return String.valueOf(df.format(inputValue)); //返回String类型 } else { // 返回字符串类型的值 return String.valueOf(hssfCell.getStringCellValue()); } }