在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