java.text包中的DateFormat,NumberFormat一些用法



import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class XZou {

	
	/**
	 * DateFormat是一个日期格式化处理器,它是一个抽象类,它常用的子类是SimpleDateFormat
	 * NumberFormat是一个数字格式化处理器,它是一个抽象类,它的常用的子类是DecimalFormat
	 * @param args
	 */
	public static void main(String[] args){
		
		
		DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");//构造函数中的参数是指定输出什么样的格式
		/**
		 * 格式列表如下:
		    y  年  Year  1996; 96  
			M  年中的月份  Month  July; Jul; 07  
			w  年中的周数  Number  27  
			W  月份中的周数  Number  2  
			D  年中的天数  Number  189  
			d  月份中的天数  Number  10  
			F  月份中的星期  Number  2  
			E  星期中的天数  Text  Tuesday; Tue  
			a  Am/pm 标记  Text  PM  
			H  一天中的小时数(0-23)  Number  0  
			k  一天中的小时数(1-24)  Number  24  
			K  am/pm 中的小时数(0-11)  Number  0  
			h  am/pm 中的小时数(1-12)  Number  12  
			m  小时中的分钟数  Number  30  
			s  分钟中的秒数  Number  55  
			S  毫秒数  Number  978  

		 */
		
		String strDate = df.format(new Date());//格式化系统当前时间
		
		System.out.println(strDate);//输出 xxxx年xx月xx日 xx时xx分xx秒 星期x。您也可以根据这个字符串转换成日期对象
		
		try {
			
			Date date = df.parse(strDate);//将串转换成日期对象
			
			//System.out.println(date);
			
		} catch (ParseException e) {
			
			e.printStackTrace();
		}
		
		
		
		System.out.println("****************数字格式化处理器*******************");
		
		
		NumberFormat nf = new DecimalFormat("#,##0.00");//构造函数中的参数是指定输出什么样的格式
		/**
		    0  数字  是  阿拉伯数字  
			#  数字字  是  阿拉伯数字,如果不存在则显示为 0  
			.  数字  是  小数分隔符或货币小数分隔符  
			-  数字  是  减号  
			,  数字  是  分组分隔符  
			E  数字  是  分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。  
			;  子模式边界  是  分隔正数和负数子模式  
			%  前缀或后缀  是  乘以 100 并显示为百分数  
			\u2030  前缀或后缀  是  乘以 1000 并显示为千分数  
			¤ (\u00A4)  前缀或后缀  否  货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。  
			'  前缀或后缀  否  用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"。  
		 */
		
		String strValue = nf.format(2222100.12);//
		
		System.out.println(strValue);//"222,210,000.12"
		
		try {
			
			double value = (Double)nf.parse(strValue);//转换成数值对象
			
			//System.out.println(value);
		} catch (ParseException e) {
			
			e.printStackTrace();
		}
		
		//当然NumberFormat 也提供了确定哪个语言环境具有数值格式以及它们名字的方法
		
		
		NumberFormat ni = NumberFormat.getNumberInstance();//创建格式化器(默认地区Local格式)数字格式化
		
		NumberFormat ci = NumberFormat.getCurrencyInstance();//创建格式化器(默认地区Local格式)货币格式化
		
		NumberFormat pi = NumberFormat.getPercentInstance();//创建格式化器(默认地区Local格式)百分比格式化
		
		
		
		System.out.println(ni.format(24324234.345));//24,324,234.345
		
		//setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。 
		//setMaximumIntegerDigits(int)  设置数值的整数部分允许的最大位数。 
		//setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。 
		//setMinimumIntegerDigits(int)  设置数值的整数部分允许的最小位数。
		
		ni.setMaximumIntegerDigits(7);//
		
		ni.setMaximumFractionDigits(2);//
		
		System.out.println(ni.format(24324234.345));//4,324,234.34
		
		
		
		System.out.println(ci.format(24.3));//¥24.30
		
		System.out.println(pi.format(0.456));//46%



		
		
		
		
			
	}
	
	
}

你可能感兴趣的:(java,F#,D语言)