关于DecimalFormat遇到的坑java.lang.NumberFormatException: Invalid int: ""

今天遇到的问题可以说是工作中遇到比较典型的java基础问题,将服务端返回的数据转换成##.##格式的形式显示。

咋一看功能要求不麻烦,一开始的时候展示原始数据,没什么好说的一切OK。后来因为代码优化写成##.##的格式,这些就炸开锅了。

怎么写都是错,怎么转都不对,这是为什么尼,我们从代码中找原因,首先看log日志,报出了java.lang.IllegalArgumentException: Bad class: class java.lang.String,那就很好办了,专家吗,最擅长的就是根据结果找原因,七搜八找终于得知是因为格式转换的时候用到了DecimalFormat

原来的代码是这样的

怎么样身为专家的你是不是已经看到原因了,别急,关于这个东西我可是小白,还要好好研究研究。得出如下结果,format不可以将String类型进行格式化,需要对不同数据类型做转换。如下:

至此,问题完美解决。

具体想DecimalFormat的格式说明了,什么数据类型了怎么转换了,小白就不多说了,专家自行研究 哈哈。

你可能感兴趣的:(关于DecimalFormat遇到的坑java.lang.NumberFormatException: Invalid int: "")