diff --git a/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/CellUtil.java b/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/CellUtil.java index 2429fa9a3..9e0ffbbb6 100644 --- a/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/CellUtil.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/excel/cell/CellUtil.java @@ -248,7 +248,13 @@ public class CellUtil { } else if (value instanceof RichTextString) { cell.setCellValue((RichTextString) value); } else if (value instanceof Number) { - cell.setCellValue(((Number) value).doubleValue()); + // issue https://gitee.com/dromara/hutool/issues/I43U9G + // 避免float到double的精度问题 + if (value instanceof Float) { + cell.setCellValue(((Number) value).floatValue()); + } else { + cell.setCellValue(((Number) value).doubleValue()); + } } else { cell.setCellValue(value.toString()); }