问题描述
excel表中存在数值元素3.1,直接读取时,表现为3.0999999..
原代码为:
String value = String.valueOf(cell.getNumericCellValue());
问题解决
1.修改excel数值格式为文本
个人不建议这个方法
2.double类型接收,格式化后在转换格式
private static NumberFormat numberFormat = NumberFormat.getNumberInstance();
//省略...
switch (cell.getCellTypeEnum()) {
// 省略...
case NUMERIC:
double d = cell.getNumericCellValue();
value = String.valueOf(numberFormat.format(d));
//省略 ...
}
学习参考:Java POI读取excel中数值精度损失 https://www.cnblogs.com/magicya/p/12626377.html
网友评论