poi 解析excel 浮点数和整数的读取

pyptyhb 2013-01-19 10:45:45
各位,我现在做数据导入,用poi解析excel,现在遇到一个问题,因为poi解析到的数值类型的数据,默认会转成double类型,我判断如果类型是CELL_TYPE_NUMERIC,想做特殊处理,现在有两个问题,请教一下大家:
1.这一列里可能有整数,也可能有浮点数,整数的,读取出来,要去点后边的".0",小数是多少就是多少,目前这个不知道怎么处理;
2.第二个问题是,如果,第一个问题,我通过判断是否以.0结尾方法来处理的话,那如果这个单元格里,输入的是如"313463165464146.26"(甚至会更长)的数据,这会变成科学计数的,这样读取出来,还是不准确。

以上,我用
Double d = cell.getNumericCellValue();
DecimalFormat df = new DecimalFormat("#");
String value = df.format(d);
来处理,是可以做到把科学计数变成正常的数字,但如果有小数,小数部分会被忽略掉。

所以,大家有木有什么好的办法和建议呀?
...全文
4527 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
上限下线 2015-06-05
  • 打赏
  • 举报
回复
先判断cell格式是否为数字,如果为数字则将格式设为字符串,再读取excel的内容 cell.setCellType(1)
花木兰1闪21A 2013-12-03
  • 打赏
  • 举报
回复
都当成字符串处理吧,String.valueOf(),然后想怎么弄怎么弄,我解析就是这样处理的
yenshen 2013-11-29
  • 打赏
  • 举报
回复 1
上面写错了,是
DecimalFormat df = new DecimalFormat("#.#########");
[/quote]
yenshen 2013-11-29
  • 打赏
  • 举报
回复
楼主可以看看DecimalFormat的使用方法 试试
DecimalFormat df = new DecimalFormat("#");
失落夏天 2013-11-28
  • 打赏
  • 举报
回复
解析成字符串形式,判断.后面是否全为0
电炒勺 2013-11-28
  • 打赏
  • 举报
回复
同样问题 求解决

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧