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
长度固定的字符字段,应该使用char和nchar。
长度不固定的字符字段使用varchar和navarchar。
可有可无的字段因该尽量给一个默认值。