1

私は Grails (2.2.0) が初めてで、ビューで double 値をフォーマットする方法を理解しようとしています。私はそれらをたくさん持っているので、可能であれば構成ファイルの1つにいくつかのコードを入れたいと思います。

ビュー内のすべての値は、g:field ... type="number" ... でフォーマットされます。

resources.groovyにはこれがあります

beans = {
localeResolver(SessionLocaleResolver) {
defaultLocale= Locale.ENGLISH
Locale.setDefault (Locale.ENGLISH)
}
}

そして、私が使用したmessages.propertiesで

default.number.format=#'###'###.#

i18nは必要ありません。そこにある他のすべてのファイルを削除しました。

この問題はビューのみにあります。すべてのデータが正しく保持されます。

ビューに必要なものの例を次に示します。

入力 10 出力 10

入力 0 出力 0

入力 0.775 出力 0.775

入力 0.7 出力 0.7

入力 1234567.12345 出力 1'234'567.12345

最後の例は、ENGLISH の標準形式ではありません。千区切りの代わりに、「

使えばと思いました

default.number.format=#'###'###.#

すべての値を g:formatNumber でフォーマットする必要はありません。

助けていただければ幸いです。前もって感謝します!

編集

ここに私の質問があります:

default.number.format=#'###'###.# が messages.properties で機能しないのはなぜですか?

たとえば、私はこれを私の見解に持っています:

<g:field name="mydouble" size="8" maxlength="20" type="number" value="${fieldValue(bean: myInstance, field: 'mydouble')}"/>

このフィールドで g:formatNumber タグを使用するにはどうすればよいですか。Grails のドキュメントを読みましたが、明らかに理解に問題があります。

私は初心者だと書いたので、Grails を知っている人にとっては明らかな何かを見落としている可能性があります。

4

3 に答える 3

0

fieldValueGSP で数値をレンダリングするときに使用してみてください。

<g:field value="${fieldValue(bean: personInstance, field: 'minPrice')}" />

質問の詳細が欠落しているため、デフォルトを使用していないことが問題なのかどうかはわかりません。だからここで暗闇の中で撮影。

于 2013-02-18T15:00:06.150 に答える
0

'では、小数点としてa を使用する必要がありますか? そのようなフォーマット方法を試してください:

class NumberUtilities {
    static String format(double d) {
        def format = new DecimalFormat()
        def symbols = format.decimalFormatSymbols
        symbols.groupingSeparator = '\''
        format.decimalFormatSymbols = symbols
        return format.format(d)
    }
}

次に、ビューに書き込み${NumberUtilities.format(1234567.12345)}ます。

これは単なるアイデアです。他に必要なフォーマット規則に応じて、メソッドにフォーマットを追加してください。

于 2013-02-18T15:06:27.387 に答える