数字格式化

来源:互联网 发布:淘宝散装jbl耳机真相 编辑:程序博客网 时间:2024/06/12 01:14

在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 

  int i = 198;      String ii = NumberFormat.getCurrencyInstance(new Locale("en","US")).format(i);      System.out.println("解析为货币符是:" +ii);            java.lang.Number j = NumberFormat.getCurrencyInstance(new Locale("en","US")).parse(ii);      System.out.println("反解析出的结果是:" + j);

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

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

value:要格式化的数字

type:格式化的格式

pattern:自定义的数字化格式

如:

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

<fmt:formatNumber value="198" type="currency"pattern="{1}quot;></fmt:formatNumber><br>

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

<fmt:parseNumber value="$198"type="currency" pattern="{1}quot;></fmt:parseNumber>

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

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

如:

<fmt:formatNumbervalue="12" type="currency" pattern="$.0#"/><fmt:formatNumbervalue="1234567890" type="currency"/><fmt:formatNumbervalue="123456.7891" pattern="#,#00.0#"/><fmt:formatNumbervalue="123456.7" pattern="#,#00.0#"/><fmt:formatNumbervalue="123456.7" pattern="#,#00.00#"/>