背景
项目里最近新增了一个 Excel 导入功能,要求:保存 Excel 展示出来的数据。
原格式如下:
你以为所见即所得吗?不不不,我们看到的数据实际上是 Excel 做了显示隐藏的功能,程序读出来的确实原始数据,比如【76.3%】这个数据,实际长这样【0.763490452069129】。
实际格式如下:
为了实现业务的需求,同时保证字符串的处理精度,我们在业务层用 BigDecimal 函数对 EasyExcel 读到的数据做了一层预处理。
预处理代码如下:
private String dataFormat_2(String num) {
return new BigDecimal(num).setScale(3, BigDecimal.ROUND_UP) + "";
}
问题
从 Excel 的原始数据可以看出,业务方需要我们的处理格式为:四舍五入,保留3位小数。但是&