您的位置:首页 > 编程语言 > Java开发

14.java NumberFormat 类

2013-12-14 20:00 387 查看
package com.randomOfPackage;

import java.text.NumberFormat;
/**
* NumberFormat 类 在java。text 包下
* public abstract class NumberFormatextends Format
* NumberFormat 是所有数值格式的抽象基类。此类提供格式化和解析数值的接口
* 若要格式化当前 Locale 的数值,可使用其中一个工厂类方法:

myString = NumberFormat.getInstance().format(myNumber);

如果格式化多个数值,那么获取该格式并多次使用它是更为高效的做法,这样系统就不必多次获取关于语言环境语言和国家/地区约定的信息了。
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < myNumber.length; ++i) {
output.println(nf.format(myNumber[i]) + "; ");
}
若要格式化不同 Locale 的日期,可在对 getInstance 的调用中指定它。
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
还可以使用 NumberFormat 来解析数值:
myNumber = nf.parse(myString);

* @author Administrator
*
*/
public class NumberFormatClass {

public static void main(String[] args) {
// TODO Auto-generated method stub
double myNum=0.325;
//返回当前缺省语言环境的缺省数值格式。
String str=NumberFormat.getInstance().format(myNum);
System.out.println(str);

/*
* 使用 getInstance 或 getNumberInstance 来获取常规数值格式。
* 使用 getIntegerInstance 来获取整数数值格式。
* 使用 getCurrencyInstance 来获取货币数值格式。
* 使用 getPercentInstance 来获取显示百分比的格式。使用此格式,小数 0.53 将显示为 53%。 */
str=NumberFormat.getPercentInstance().format(myNum);
System.out.println(str);//32%

NumberFormat numFormat=NumberFormat.getInstance();
double dNum=5.67;
str=numFormat.getIntegerInstance().format(dNum);
System.out.println(str);//6

str=numFormat.getCurrencyInstance().format(dNum);
System.out.println(str);//¥5.67

//setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。
//setMaximumIntegerDigits(int)  设置数值的整数部分允许的最大位数。
//setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。
//setMinimumIntegerDigits(int)  设置数值的整数部分允许的最小位数.

numFormat.setMaximumFractionDigits(3);
numFormat.setMaximumIntegerDigits(2);
numFormat.setMinimumFractionDigits(1);
numFormat.setMinimumIntegerDigits(1);
str=numFormat.format(23456.89323);
System.out.println(str);//56.893

str=numFormat.format(5);
System.out.println(str);//5.0

numFormat.setMinimumIntegerDigits(0);
str=numFormat.format(0.6);
System.out.println(str);//.6

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: