我想知道如何在我的JSF应用程序上设置默认的小数点分隔符。我有一些<h:inputText>
我需要格式化为金钱,有2位小数。现在,默认情况下使用的小数分隔符是逗号,
,当我在保存时执行某些操作时,这会给我一个错误。我不知道每次使用<f:convertNumber>
标签时是否可以设置小数点分隔符。
我试着用这个:
<f:convertNumber pattern="########0.00" groupingUsed="false" />
但它仍然将逗号设置为小数点分隔符。
答案 0 :(得分:13)
默认小数分隔符取决于使用的语言环境。您可以通过两种方式进行设置:
在<f:view>
标记的locale
属性的基于每个视图的基础上:
<f:view locale="#{bean.locale}">
基于<f:convertNumber>
标记的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"
,这更加自我记录。