本文介绍了如何使用Apache POI设置好的浮点值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想设置一个单元格的值,以一个漂亮的浮动值。我想设置单元格的值 5.2 ,但我得到 5.1999998093 来代替。什么将是一个解决方案?

 工作簿簿=新HSSFWorkbook();
片工作表= workbook.createSheet();
CellStyle风格= workbook.createCellStyle();
style.setDataFormat(HSSFDataFormat.getBuiltinFormat(0.0));INT I = 0;
worksheet.createRow第(i + 1);
worksheet.getRow第(i + 1).createCell(0).setCellStyle(样式);
worksheet.getRow第(i + 1).getCell(0).setCellValue(新的BigDecimal(5.2)的floatValue());


解决方案

你们不明白什么是我的问题很好。一个解决方案是改变数据格式为:

  DATAFORMAT格式= workbook.createDataFormat();
style.setDataFormat(format.getFormat(##));

I'm trying to set a cell value to a nice float value. I want to set cell value to 5.2, but I get 5.1999998093 instead. What would be a solution for this?

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());
解决方案

You guys didn't understand what was my problem well. A solution was to change data format:

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

这篇关于如何使用Apache POI设置好的浮点值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 09:14