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

本文介绍了一种从Excel单元格中读取不同类型数据的方法,包括布尔型、数值型和字符串型。通过判断单元格的数据类型,可以适当地转换并返回相应的Java数据类型,如Boolean、Long或Double,并使用DecimalFormat进行格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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());
      }
  }

转自
https://www.cnblogs.com/allforone/p/4146346.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值