在jasper报告中,我使用JSON数据源。 此数据源包含数字(例如159.994)。忽略jasper小数分隔符
有一个类java.lang.double
(我们称之为“doubleField”)的字段以及带有该字段和模式("#,##0.00 ¤ (brutto)"
)的文本字段。 该模式工作正常(德国货币格式),但如果我只打印出doubleField的值,预期的输出将是“195,99”或“159.994”。 但实际上它是"159.994,00"
或"159994.0"
。
有一种解决方案将报告的语言从“groovy”更改为“JavaScript”,但这不会有帮助,也不适用。
有一个“快速&脏”的解决方案(没有很快),只是将JSON值作为字符串,然后在文本字段中将其转换为双精度值。这工作正常,但它很脏,并不是很快。
任何想法?
我不清楚问题是什么。你说模式工作正常,所以这不是问题。然后你说'但实际上它是“159.994,00”或“159994.0”,那么它是什么,159.994,00或159994.0?它是否同时打印?为什么当格式化输出正确时出现问题? – mbmast
问题是:该模式只适用于如果该字段是一个字符串,我在文本字段中将其强制转换为双精度型。 恕我直言,将字段声明为“double”而不是“string”会更清洁,并且以后再投... – hering
好的,这就清楚地说明了这个问题。我发布我的下一条评论作为回答,因为我无法在评论中获得所有我需要的文本和格式 – mbmast