Merlin的魔力: 格式化数值和货币 - 编程入门网
如何显示正数、负数、小数和指数。如果不喜欢用于不同地区的预定义格式,您可以创建自己的格式。(在内部,或许 NumberFormat 使用的就是 DecimalFormat 。)基本的 DecimalFormat 功能在 J2SE 平台的 1.4 版中并没有改变。改变之处在于添加了 formatToCharacterIterator()、 getCurrency() 和 setCurrency() 方法。
我们将快速浏览一下新的 formatToCharacterIterator 方法及其关联的 NumberFormat.Field 类。J2SE 1.4 引入了 CharacterIterator 的概念,它允许双向地遍历文本。对于 formatToCharacterIterator ,您将获得它的子接口 AttributedCharacterIterator ,这个子接口允许您找出关于该文本的信息。对于 DecimalFormat 的情况 ,那些属性是来自 NumberFormat.Field 的键 。通过使用 AttributedCharacterIterator , 您完全可以根据所产生的结果构造自己的字符串输出 。清单3使用了一个百分数实例来提供一个简单的演示: 清单 3. 使用 formatToCharacterIterator()
清单4显示了程序的输出(显示在一小段消息之后,以使其更易于阅读)。基本上, formatToCharacterIterator() 方法的工作方式与调用 format() 相同,只不过前者除了格式化输出字符串外,还要使用属性来标记输出中的每个字符(例如,位于位置 X 处的字符是否为一个整数?)。将 50.25 显示为百分数,在美国地区的输出为“5,025%”。通过检查输出 ,除“%”外的每个字符都是整数,包括冒号 。除了数值之外 ,逗号也被标记为一个分组分隔符,百分号被标记为一个百分数。每个数字的属性都是一个 java.util.Map ,其中每个属性被显示为 key=value (键=值)的形式。在存在多个属性的情况下,属性列表中的属性之间用逗号分隔。 清单 4. formatToCharacterIterator() 输出
Merlin的魔力: 格式化数值和货币(3)时间:2011-02-02 IBM John Zukowski基于值范围和 ChoiceFormat 确定消息 ChoiceFormat 是 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |