Merlin的魔力: 格式化数值和货币 - 编程入门网
NumberFormat 的另一个具体子类。它的定义和行为在 J2SE 1.4 中没有改变。 ChoiceFormat 并不会真正帮助您格式化数值,但它的确允许您自定义与某个值关联的文本。在最简单的情况下,我们可以设想一下显示出错消息的情况。如果存在导致失败的单个原因,您希望使用单词“is”。如果有两个或者多个原因,您希望使用单词“are”。如清单5所示, ChoiceFormat 允许您把一系列的值映射为不同的文本字符串。
ChoiceFormat 类通常与 MessageFormat 类一起使用,以产生与语言无关的拼接起来的消息。这里没有说明的是如何使用 ResourceBundle (它通常与 ChoiceFormat 一起使用)来获得那些字符串。关于如何使用资源包的信息 ,请参见 参考资料;特别地,“Java 国际化基础”教程提供了关于这方面的深入讨论 。 清单 5. 使用 ChoiceFormat
执行该程序将产生如清单6所示的输出: 清单 6. ChoiceFormat 输出
Merlin的魔力: 格式化数值和货币(4)时间:2011-02-02 IBM John Zukowski使用 Currency 进行货币计算 前面提到过的 getCurrency() 和 setCurrency() 方法返回新的 java.util.Currency 类的一个实例。这个类允许访问不同国家的 ISO 4217 货币代码。虽然自从 getCurrencyInstance() 引入以来您就能配合 NumberFormat 一起使用它,然而除了它们的数字显示外,您永远不能获得或显示某个地区的货币符号。有了 Currency 类,现在很容易就可以做到这一点。 正如前面提到过的 ,货币代码来自ISO 4217。通过传入某个国家的 Locale 或者货币的实际字母代码, Currency.getInstance() 将返回一个有效的 Currency 对象。 NumberFormat 的 getCurrency() 方法将在创建特定地区的货币实例之后做同样的事情。 清单7显示了如何获得货币实例,以及如何格式化将要显示为货币的数值。记住这些转换仅用于显示。如果需要在货币之间转换金额,应该在确定如何显示值之前进行转换。 清单 7. 使用 getCurrencyInstance() 和 Currency import java.text.*; import java.util.*; import java.awt.*; import javax.swing.*; public class CurrencySample { public static void main(String args[]) { StringBuffer buffer = new StringBuffer(100); Currency dollars = Currency.getInstance("USD"); Currency pounds = Currency.getInstance(Locale.UK); buffer.append("Dollars: "); buffer.append(dollars.getSymbol()); buffer.append("\n"); buffer.append("Pound Sterling: "); buffer.append(pounds.getSymbol()); buffer.append("\n-----\n"); double amount = 5000.25; NumberFormat usForma |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |