假设我有以下<f:convertNumber>
格式设置货币类型的数字:
<f:convertNumber type="currency" locale="#{userSession.locale}" pattern="$###,###.###" />
用英语,一百万将等于一百万,而在德国,则应为1.000.000。我的问题是:如果使用上述模式,JSF是否会知道指定语言环境的数字格式并自动使用正确的分隔符?
如果没有,请您告诉我如何设置货币编号并同时指定正确的数字分隔符,我将不胜感激。
重要的是要了解和理解<f:convertNumber>
标签在幕后的使用DecimalFormat
。您可以在其javadoc中找到所有模式字符。
看来您希望DecimalFormat
模式字符,
和.
也实际上以最终格式使用。这是不正确的。它是真的仅仅 模式字符
(如等d
,M
,y
等13759
SimpleDateFormat
)。基本上,模式字符,
告诉DecimalFormat
打印给定语言环境指定的“分组分隔符”,并且等效地,模式字符.
告诉DecimalFormat
打印给定语言环境指定的“小数分隔符”。
实际上,要打印的实际字符取决于给定的语言环境。对于英语语言环境(locale="en"
),正在打印的“分组分隔符”也只是巧合,
,但是对于德语语言环境(locale="de"
),正在打印的“分组分隔符”的确是.
。
无关
的具体问题,type
的属性<f:convertNumber>
有,如果完全没有影响pattern
是指定的属性。该type
attribtue是在这个例子中基本上多余的,并且可以安全地无任何副作用除去。
如果删除该pattern
属性,则实际上将使用该属性,并且会看到使用的是货币的默认模式,该模式与¤#,##0.00
英语语言环境和`¤
<f:convertNumber type="currency" locale="#{userSession.locale}" currencySymbol="$" />
同样,请参阅DecimalFormat
之前链接的javadoc。
null 请帮我查一下上面的货币格式。
问题内容: 我想知道是否有可能在Java中使用String.format方法给出一个在零之前的整数? 例如: 1将变为001 2将变为002 … 11将变为011 12将变为012 … 526将保留为526 … 目前,我尝试了以下代码: 不幸的是,它在数字之前带有3个空格。可以在数字前加零吗? 问题答案: 使用格式说明为整数。的装置,该数目将是零填充,如果它是少于三个(在这种情况下)位。 有关其他
问题内容: 我需要显示此类货币格式,我们如何显示。 问题答案: 在HTML中 例如 您还可以推荐 https://docs.angularjs.org/api/ng/filter/currency
我正在尝试使用函数。 而它应该打印$符号或美元? 我使用linux主机。 谢谢
问题内容: 我有一个查询,它从表中返回金额: 这将返回如下金额: 我在碧玉报告中使用了上述金额。 但是,我希望报告中的输出显示为: JRXML代码段是: 我知道我必须使用模式。但是,我无法使其工作。 使用 不管用。 我想念什么?? 谢谢阅读! 问题答案: 你很亲密 应该管用。 您需要使用“¤”字符将其设置为“货币”格式。 如果您下载的iReports版本号与您的服务器相匹配,则会发现您的选择。
问题内容: 有没有办法让这样的字符串的浮点值:,比其他? 我希望这取决于当前的网站语言,有时逗号可以用点代替。 问题答案: 您可以使用 -解析货币编号 手册中的示例: 给出: