java - 如何使用 Apache POI 设置漂亮的浮点值?

标签 java floating-point apache-poi cell xls

我正在尝试将单元格值设置为一个不错的 float 值。我想将单元格值设置为 5.2,但我得到的是 5.1999998093。对此有什么解决方案?

Workbook workbook = new HSSFWorkbook();
Sheet worksheet = workbook.createSheet();
CellStyle style = workbook.createCellStyle();
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.0"));

int i = 0;
worksheet.createRow(i + 1);
worksheet.getRow(i + 1).createCell(0).setCellStyle(style);
worksheet.getRow(i + 1).getCell(0).setCellValue(new BigDecimal("5.2").floatValue());

最佳答案

你们没有很好地理解我的问题是什么。一种解决方案是更改数据格式:

DataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat("#.#"));

关于java - 如何使用 Apache POI 设置漂亮的浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19332944/

相关文章:

java - hibernate/JPA : Mapping entities to different databases

java.io.IOException : Access denied (H2 + Hibernate)

java - Java 中 XIRR 函数的公式计算器

java - 通过 apache-poi 更改 Excel 中单元格的值

java - NotOLE2FileException : Invalid header signature; read 0x0000000000000000, 预期为 0xE11AB1A1E011CFD0 - 文件似乎不是有效的 OLE2 文档

Java构造函数链方向

java - 为什么这个通用的 java 代码不能编译?

java - 如何将 double / float 舍入为二进制精度?

c - 如何引发浮点异常

php - -0 不等于 0