国际化-数字格式化

来源:互联网 发布:淘宝商品下架后再上架 编辑:程序博客网 时间:2024/06/08 09:02

在java中使用NumberFormat类实现数字格式化

NumberFormat可以将一个数值格式化为符合某个国家地区习惯的数值字符串,也可以将符合某个国家地区习惯的数值字符串解析为对应的数值

NumberFormat 类的方法:

format 方法:将一个数值格式化为符合某个国家地区习惯的数值字符串

parse方法:将符合某个国家地区习惯的数值字符串解析为对应的数值。

实例化NumberFormat类:

可以使用locale对象作为参数,也可以不使用

getNumberInstance(Localelocale):以参数locale对象所标识的本地信息来获得具有多种用途的NumberFormat实例对象

getIntegerInstance(Localelocale):以参数locale对象所标识的本地信息来获得处理整数的NumberFormat实例对象

getCurrencyInstance(Localelocale):以参数locale对象所标识的本地信息来获得处理货币的NumberFormat实例对象

getPercentInstance(Localelocale):以参数locale对象所标识的本地信息来获得处理百分比数值的NumberFormat实例对象

例如:

       将整数198,输出为货币形式:$198,并将$198反向解析成整数198

[html] view plaincopyprint?
  1. int i = 198
  2.  
  3.     String ii = NumberFormat.getCurrencyInstance(new Locale("en","US")).format(i); 
  4.  
  5.     System.out.println("解析为货币符是:" +ii); 
  6.  
  7.      
  8.  
  9.     java.lang.Number j =NumberFormat.getCurrencyInstance(new Locale("en","US")).parse(ii); 
  10.  
  11.     System.out.println("反解析出的结果是:" + j); 

使用标签实现数字格式化:

<fmt:formatNumbervalue="" type=" " pattern=""/>

value:要格式化的数字

type:格式化的格式

pattern:自定义的数字化格式

如:

    //将整数值198按照美元格式输出

[html] view plaincopyprint?
  1. <fmt:formatNumbervalue="198"type="currency"pattern="{1}quot;></fmt:formatNumber><br> 

//将$198反解析成整数值

[html] view plaincopyprint?
  1. <fmt:parseNumbervalue="$198"type="currency"pattern="{1}quot;></fmt:parseNumber> 

数字格式化输出的几种格式:

(0) 一个数位;(#)一个数位,前导零和追尾零不显示;(.)小数点分割位置;(,)组分隔符的位置;(-)负数前缀;(%)用100乘,并显示百分号

如:

[html] view plaincopyprint?
  1. <fmt:formatNumbervaluefmt:formatNumbervalue="12"type="currency"pattern="$.0#"/> 
  2.  
  3. <fmt:formatNumbervaluefmt:formatNumbervalue="1234567890"type="currency"/> 
  4.  
  5. <fmt:formatNumbervaluefmt:formatNumbervalue="123456.7891"pattern="#,#00.0#"/> 
  6.  
  7. <fmt:formatNumbervaluefmt:formatNumbervalue="123456.7"pattern="#,#00.0#"/> 
  8.  
  9. <fmt:formatNumbervaluefmt:formatNumbervalue="123456.7"pattern="#,#00.00#"/> 
原创粉丝点击