2010-06-22 39 views
0

Grails標記fieldValue如何執行其格式設置?Grails GSP選項卡字段值格式

我有一個具有Double屬性的域類。

class Thing { 
    Double numericValue 
} 

在GSP,該fieldValue被使用(如由grails generate-all創建)用於呈現:

${fieldValue(bean:thing, field:"numericValue")} 

不幸的是後3位小數位不被顯示(即,0.123456顯示爲0.123)。我如何控制fieldValue的格式?

注意,我可以只使用${thing.numericValue}(它沒有格式化)或 <g:formatNumber>,但我寧願使用fieldValue標籤,並指定格式。我只是不知道在哪裏指定fieldValue的格式。

+0

可能重複[我怎樣才能改變的方式GRAILS GSP fieldValue方法整數格式?](http://stackoverflow.com/questions/2108255/how-can-i-change-the-way-grails-gsp-fieldvalue-formats-integers) – 2014-04-16 07:02:48

回答

2

使用 <g:formatNumber number="${thing.numericValue}" format="\\$###,##0.00" /> 代替或使用 ${g.formatNumber(number:thing.numericValue, format:'\\$###,##0.00'}

希望這有助於。

0

上述答案的替代方法是使用i8n文件。因爲它可以爲「所有」,並根據語言環境

改變這個選項是有用的,如果你去messages.properties文件,你可以添加以下

default.number.format = ###,##0.00 

這將更改默認格式所有數字。

如果你打算使用G:formatNumber標籤我會建議使用它作爲

<g:formatNumber number="${myNumber}" formatName="myCustom.number.format" /> 

並添加代碼輸入到messages.properties文件爲:通過這樣

myCustom.number.format = ###,##0.00 

只需要在需要相似數字格式的地方使用代碼,並且如果需要,可以在一個地方進行更改。

從grails文檔中閱讀this article將是最符合您的利益的。


OFFTOPIC:作爲一個方面說明,你也可以更改默認的日期格式messages.properties文件如下

default.date.format=dd 'de' MMMM 'de' yyyy