【问题标题】:Set decimal separator when using f:convertNumber使用 f:convertNumber 时设置小数点分隔符
【发布时间】:2011-12-12 22:59:43
【问题描述】:

我想知道如何在我的 JSF 应用程序上设置默认的小数点分隔符。我有一些<h:inputText>,我需要将其格式化为货币,带有 2 位小数。现在默认使用的小数分隔符是逗号,,当我在保存时执行一些操作时,这给了我一个错误。我不知道我是否可以设置每次使用<f:convertNumber>标签时使用的小数分隔符。

我试过用这个:

<f:convertNumber pattern="########0.00" groupingUsed="false" />

但它仍然将逗号设置为小数分隔符。

【问题讨论】:

    标签: jsf numbers decimal converter separator


    【解决方案1】:

    默认的小数点分隔符取决于使用的语言环境。您可以通过 2 种方式进行设置:

    1. 通过&lt;f:view&gt; 标记的locale 属性按每次查看:

       <f:view locale="#{bean.locale}">
      
    2. &lt;f:convertNumber&gt; 标签的locale 属性基于每个转换器:

       <f:convertNumber locale="#{bean.locale}" />
      

    目前尚不清楚您的目标是哪个区域设置,但例如,对于区域设置为 en-US 的美元,使用 . 作为分数分隔符是典型的。所以你需要这样设置:

    <f:convertNumber type="currency" currencySymbol="$" locale="en-US" />
    

    也可以从java.util.Locale bean 属性中获取。

    <f:convertNumber type="currency" currencySymbol="$" locale="#{bean.locale}" />
    

    请注意,我使用了type="currency",这样更能自我记录。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多