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。

相关推荐
xqqxqxxq7 小时前
Java AI智能P图工具技术笔记
java·人工智能·笔记
谷雨不太卷8 小时前
进程的状态码
java·前端·算法
顾温8 小时前
default——C#/C++
java·c++·c#
空中海8 小时前
02 ArkTS 语言与工程规范
java·前端·spring
楚国的小隐士8 小时前
在AI时代,如何从0接手一个项目?
java·ai·大模型·编程·ai编程·自闭症·自闭症谱系障碍·神经多样性
yaki_ya8 小时前
yaki-C语言:从概念基础到内存解析---数组(array)完全指南
java·c语言·算法
刃神太酷啦8 小时前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode
亚历克斯神8 小时前
Java 25 模式匹配增强:让代码更简洁优雅
java·spring·微服务
星辰徐哥8 小时前
Rust异步测试与调试的实践指南
android·java·rust
星河耀银海8 小时前
C++ 运算符重载:自定义类型的运算扩展
android·java·c++