lhxctc 发表于 2013-2-3 13:33:10

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年Year1996; 96M年中的月份MonthJuly; Jul; 07w年中的周数Number27W月份中的周数Number2D年中的天数Number189d月份中的天数Number10F月份中的星期Number2E星期中的天数TextTuesday; TueaAm/pm 标记TextPMH一天中的小时数(0-23)Number0k一天中的小时数(1-24)Number24Kam/pm 中的小时数(0-11)Number0ham/pm 中的小时数(1-12)Number12m小时中的分钟数Number30s分钟中的秒数Number55S毫秒数Number978   */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.34System.out.println(ci.format(24.3));//¥24.30System.out.println(pi.format(0.456));//46%}}
页: [1]
查看完整版本: java.text包中的DateFormat,NumberFormat一些用法