0

Grails 标签如何fieldValue进行格式化?

我有一个带有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's 格式。

4

2 回答 2

2

Use <g:formatNumber number="${thing.numericValue}" format="\\$###,##0.00" /> instead or use ${g.formatNumber(number:thing.numericValue, format:'\\$###,##0.00'}

Hope this helps.

于 2010-06-22T08:05:33.513 回答
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 文档中阅读这篇文章将符合您的最大利益。


OFFTOPIC:作为旁注,您还可以更改 messages.properties 文件中的默认日期格式,如下所示

default.date.format=dd 'de' MMMM 'de' yyyy 
于 2015-12-18T01:13:52.857 回答