大数值显示或导出时为科学计数,未能正确显示
行云2017 发布于60月前 4答/1206阅

我的原始需求是:大数值(1000万及以上)在 查看、修改或导出EXCEL时,能显示实际正确数值,而不是科学计数的数值


实现过程中遇到的问题:数据类型为: double,如:90000000,显示9.0E7,未能正确显示为90000000


我觉得这个问题的原因是:将 大数值 转换成String类型时出现问题,但不知修改哪里



[沙发] Jieven
@行云2017 自己设置一下单元格格式, 或者 自定义按钮用POI 单独写一个 Excel导出, 然后 手工设定单元格格式.
[地板] 行云2017
不仅仅是导出EXCEL(手工调整EXCEL单元格式已知道),原配的在线:查看、修改,也都是这样
[地毯] Jieven
@行云2017 其它的 可以通过 元对象拦截器 转 String
[4楼] 行云2017
"修改"解决了:
public void updateInit(AopContext ac) throws Exception {
DecimalFormat decimalFormat = new DecimalFormat("#"); //格式化设置
String dbstr = decimalFormat.format(ac.record.getDouble("dkAmount"));
ac.fixed.set("dkAmount", dbstr);
}

但 "查看"也是调用这个拦截,在这ac.fixed.set("dkAmount", dbstr); 总是报错,不懂修改
请指教
提交评论
嘿,我来帮你!