我有一个遗留应用程序,我在groovy中重写,将空数转换为空格。
我做的是:
String.format("%25.2f",res.VOLUME_AVG_5D ?: 0.0)
将nulls渲染为0.0,但我需要创建一个空字符串。有一种简单的groovy方式吗?
我在动态评估的属性文件中有这种格式,因此在那里做IF并不容易,如果可能的话我更喜欢单行。 它的定义方式是这样的:
file.rows="${->res.COMP_KEY}|${->String.format("%25.2f",res.VOLUME_AVG_5D ?: 0.0).trim()}|${->String.format("%25.2f",res.VOLUME_AVG_10D ?: 0.0).trim()}
其中res是结果集,我从属性文件中定义的查询中获取。
答案 0 :(得分:2)
为什么不切换它,而不是:
String.format("%25.2f",res.VOLUME_AVG_5D ?: 0.0)
待办事项
res.VOLUME_AVG_5D == null ? '' : String.format("%25.2f",res.VOLUME_AVG_5D)
答案 1 :(得分:0)
试试这个
String.format(“%25.2f”,res.VOLUME_AVG_5D?:“@@ NULL @@”)。replaceAll(“@@ NULL @@”,“”);
检查蒂姆的答案,由于IllegalFormatConversionException
期待%25.2f
float