EasyExcel读入数字类型数据时出现小数位丢失精度问题

这里写自定义目录标题

问题现象

目前使用easyExcel读取导入文档时发现文档中的小数值4076204076.65会被读取为4076204076.6500001

尝试去查看了excel解压后的文件,发现这条数据在xml里存储的值就是4076204076.6500001,即是excel存储小数本身存在的问题,easyExcel没毛病。

解决方案

java 复制代码
// 去除小数末尾0
result = readCellData.getNumberValue()
	.stripTrailingZeros()
	.toPlainString();

使用readCellData.getNumberValue()方法获取数值,此数值经过了easyExcel四舍五入了,我们只需要去除小数位末尾的0,就能获取到真正的数据4076204076.65。

相关推荐
gugucoding14 小时前
55. 【Java】Maven:项目构建的“管家”
java·maven
郑州光合科技余经理14 小时前
海外版多语言团购系统架构:主数据互通与核销边界
java·开发语言·前端·后端·系统架构·php·ai编程
Jesse_EC15 小时前
为什么我设置的 contentLength 到了消费端变成了 0?
java
vipxieliang15 小时前
ValidX 的 Date 和 DateTime vs JPA 的 Temporal 对比
java·后端
杜touch15 小时前
Spring框架的AnnotationConfigApplicationContext类启动的流程
java
Python私教16 小时前
Excel 和群聊什么时候该升级成管理系统?7 个判断信号
excel·管理系统·权限设计
AI人工智能+电脑小能手16 小时前
大白话说Java设计模式-26-策略模式(业务实战篇)
java·spring·设计模式·策略模式·支付系统·算法切换
不是光头 强16 小时前
Java 后端 AI 技术选型与学习路线
java·人工智能·学习
paopaokaka_luck17 小时前
基于springboot3+vue3的文山民族文化资源展示与推广平台(协同过滤算法、Echarts 图形化分析)
java·前端·spring boot·学习·echarts