您的位置:首页 > 其它

poi 处理excel 小数问题 整数不保留小数位 整数多.0

2014-12-05 11:50 337 查看
读取的单元格为 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());
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: