说明:出现这个问题证明你使用format方法把String 类型的字符串,进行格式化了。需要进一步处理后再进行格式化。比如做个判断进行处理。
错误写法:这种情况遍历出来的date不可以是string类型的数值,比如"123.3232"这样的情况就会报这个错误。
for(Object date : testResultInfo.getTestData()) { sBuilder.append(String.format("%.4f",date) +","); }
正确写法:下面写法,就是判断出来string类型的数值,比如将"123.3232"进一步处理成为Double类型的数值后,再进行格式化。
for(Object date : testResultInfo.getTestData()) { if(date instanceof java.lang.String){ log.info("检测到当前转换的数据为string类型"); String d=(String)date; sBuilder.append(String.format("%.4f",Double.parseDouble(d)) +","); }else { sBuilder.append(String.format("%.4f",date) +","); } }
最后让你瞄一眼源码: