格式转换和类型转换
1、格式化问题
数值类
java.lang.Object?
??? java.text.Format????
???????? java.text.NumberFormat?????????
???????????? java.text.DecimalFormat
DecimalFormat myFormat=new DecimalFormat(##,###,###.###);
String str=myFormat.format(1234567.789f);
System.out.println(str);//输入:1,234,567.789
? NumberFormat nFormat = NumberFormat.getCurrencyInstance();?? // 返回货币格式
String value = nFormat.format(123.456789);?????????????????? // 格式化为货币
System.out.println("格式化为货币的效果:???? "+value);
nFormat = NumberFormat.getIntegerInstance();???????????????? // 返回整数格式
value = nFormat.format(123.456789);????????????????????????? // 格式化为整数
System.out.println("格式化为整数的效果:???? "+value);
nFormat = NumberFormat.getPercentInstance();???????????????? // 返回百分数格式
value = nFormat.format(0.12);??????????????????????????????? // 格式化为百分数
System.out.println("格式化为百分数的效果:"+value);
2,日期类
java.lang.Object?
???? java.text.Format?????
???????? java.text.DateFormat????????
????????????? java.text.SimpleDateFormat
?
?
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = new Date();?? // 创建日期对象
String time = dateFormat.format(date);? // 将日期对象格式化为字符串
2,String->int:
????? int sum=Integer.parseInt("123");
或者:int month = new Integer(this.getMonth()).intValue();//String类型变成int类型
时间->String:用DateFormat实现
String->时间,用时间里的构造方法实现
eg:
/*
???? *因为把String-->Timestamp类型用Timestamp.valueOf(String s),
???? *s的格式必须为yyyy-MM-dd HH:mm:ss,即4个字符的年,2个字符的月日时分秒
???? */
if(month<10){??
????? months="0"+month;??
?????????? }else{
??????????? months=""+month;
?????????? }
?????????? if(date<10){??
????????????? dates="0"+date;??
?????????? }else{
??????????? dates=""+date;
?????????? }
???? String datetimes= ""+year+"-"+months+"-"+dates;
???? Timestamp ts=Timestamp.valueOf(datetimes+" 00:00:00");//String-->Timestamp类型
?
?/*
*String->Date
*/
??SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
???Date date2=sdf.parse("2005-06-06");
???System.out.println(date2);//打印出Mon Jun 06 00:00:00 CST 2005
?