国际化-数字格式化

在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

  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); 
  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按照美元格式输出

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

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

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

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

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

如:

  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#"/> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值