将空号格式设置为空格

时间:2016-04-26 21:47:56

标签: groovy

我有一个遗留应用程序,我在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是结果集,我从属性文件中定义的查询中获取。

2 个答案:

答案 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