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

Gin*_*as_ 2 java floating-point xls cell apache-poi

我正在尝试将单元格值设置为一个很好的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());
Run Code Online (Sandbox Code Playgroud)

Gin*_*as_ 5

你们不明白我的问题是什么.解决方案是更改数据格式:

DataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat("#.#"));
Run Code Online (Sandbox Code Playgroud)