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

4

2 に答える 2

2

代わり <g:formatNumber number="${thing.numericValue}" format="\\$###,##0.00" /に > を使用するか、 ${g.formatNumber(number:thing.numericValue, format:'\\$###,##0.00'}

お役に立てれば。

于 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

これにより、同様の数値形式が必要な場合にコードを使用するだけで済み、必要に応じて 1 か所で変更を加えることができます。

この記事を grails のドキュメントから読むことをお勧めします。


オフトピック: 補足として、messages.properties ファイルのデフォルトの日付形式を次のように変更することもできます。

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