格式转换和类型转换

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


 

你可能感兴趣的:(格式转换)