5

リソースバンドルを使用して国際化を処理する JSF (ICEfaces) アプリケーションを作成しています。

アプリケーションはリソース バンドルに (デフォルトの) オランダ語の "nl" ロケールを適切に適用しますが、 を使用してページのロケールを明示的に設定したとしても、浮動小数点数の書式設定に同じロケールを適用できません<f:view locale="nl">

浮動小数点数を現在のロケール設定に合わせるにはどうすればよいですか?

4

2 に答える 2

6

数値を適切なロケールにフォーマットするコンバータを使用していない可能性があります。

  <f:view locale="nl">
    <h:outputText value="#{numbers.someDouble}">
      <f:convertNumber pattern="#,##0.00;(#,##0.00)" />
    </h:outputText>
    <br />
    <h:outputText value="#{numbers.someDouble}">
      <f:convertNumber locale="en" pattern="#,##0.00;(#,##0.00)" />
    </h:outputText>
  </f:view>

このビュー (数値の後に英語のロケール番号が続くオランダ語のロケール ビュー) は、次の出力を生成します。

12.341.234,43
12,341,234.43
于 2009-11-16T12:02:00.937 に答える
1

nest<convertNumber>タグを使用して、faces.config.xmlでデフォルトのロケールを「nl」に設定できます。<convertNumber>そうすれば、コンバーターは自動的にデフォルトのロケールを取得して使用し、各タグでパターンを指定する必要はありません。

faces-config.xml:

    <application>
        <locale-config>
          <default-locale>nl</default-locale>
        </locale-config>
    </application>
于 2009-11-16T13:31:09.103 に答える