您的位置:首页 > 其它

String的格式化处理

2014-03-05 16:41 106 查看
项目中 用到将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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: