在我基于jstl的网站上,我使用以下标记来显示价格:
<fmt:formatNumber value="10" minFractionDigits="2" maxFractionDigits="2" currencySymbol="$"/>
此标记效果很好,因为它甚至可以使用本地设置格式化货币。
但是,我现在想要使用Ajax结合Java Servlet来更新此值。所以我基本上需要的是一种在我的Servlet中“使用”这个标签的方法。
我实际上是通过查看源代码来尝试重建功能:http://grepcode.com/file/repo1.maven.org/maven2/javax.servlet/jstl/1.2/org/apache/taglibs/standard/tag/rt/fmt/FormatNumberTag.java
但事实证明这很乏味,所以我想知道是否有更优雅的解决方案。
答案 0 :(得分:0)
使用Java的NumberFormat
(Javadocs)。要格式化货币,只需执行
NumberFormat fmt = NumberFormat.getCurrencyInstance(); // optionally provide a Locale
// optionally set currency, if different than the default for the selected locale
fmt.setCurrency(...);
String formattedNumber = fmt.format(...);