String的格式化处理

项目中 用到将String转换为 货币的显示样式,查了相关资料,在此做个小总结:

Java 提供了NumberFormat这个类来帮助大家处理:

获得本地默认格式

NumberFormat.getNumberInstance() // 数字
NumberFormat.getCurrencyInstance() // 货币
NumberFormat.getOpercentInstance() //百分比

------------------------------------------------------------------------------------------------ 

使用本地默认格式输出数字
NumberFormat numberFormat = NumberFormat.getNumberInstanc(); 
numberFormat.setMaximumFractionDigits(4); // 指定小数位数   整数位不够的补零,小数截去部分四舍五入。 
numberFormat.setMinimumIntegerDigits(6); //指定整数位数
String numberString = numberFormat.format(d); 
System.out.println("本地默认格式输出数:" + numberString); 

//使用本地默认格式输出货币值 

NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(); 
System.out.println("本地默认格式输出货币值:" + currencyFormat.format(d)); 

//使用本地默认格式输出百分数 

NumberFormat percentFormat = NumberFormat.getPercentInstance(); 
System.out.println("本地默认格式输出百分数:" + percentFormat.format(d)); 


当然,可以指定不同国家地区,Local.XXXX, 也是有区别的

//使用德国的格式化输出数 

NumberFormat numberFormatG = NumberFormat.getNumberInstance(Local.GERMANY); 
System.out.println("德国数字输出形式:" + numberFormatG.format(d)); 

------------------------------------------------------------------------------------------------ 

也可以用NumberFormat的一个子类DecimalFormat来指定输出格式

DecimalFormat decimalFormat = new DecimalFormat(",###.###"); // 输入"999888.7777" 注意逗号
String s = decimalFormat.format(d); // 999,888.78

------------------------------------------------------------------------------------------------ 

也可以对格式化的数字进行解析。 

NumberFormat numberFormat1 = NumberFormat.getNumberInstance();
Number numb1 = null;
numb1 = numberFormat1.parse("
33,333.33");// 结果:33333.33


参考:http://www.blogjava.net/majianan/archive/2006/07/18/58873.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值