與字符串相關的類型轉換

本文來自程式先鋒技術文庫 www.javabiz.cn
類型 X 轉換成類型 Y
integer to String :
  
int i = 42;
String str = Integer.toString(i);
   或
String str = "" + i
double to String :
String str = Double.toString(i);
long to String :
String str = Long.toString(l);
float to String :
String str = Float.tString(f);
String to integer :
   str = "25";
   int i = Integer.valueOf(str).intValue();
   或
   int i = Integer.parseInt(str);
String to double :
Double d = Double.valueOf(str).doubleValue();
String to long :
   long l = Long.valueOf(str).longValue();
   或
Long L = Long.parseLong(str);
String to float :
Float f = Float.valueOf(str).floatValue();
decimal to binary :
int i = 42;
String bin = Integer.toBinaryString(i);
decimal to hexadecimal :
   int i = 42;
   String hexstr = Integer.toString(i, 16);
   或
   String hexstr = Integer.toHexString(i);
   或 (0開頭的並且大寫)
   public class Hex {
     public static void main(String args[]){
       int i = 42;
       System.out.print
         (Integer.toHexString( 0x10000 | i).substring(1).toUpperCase());
      }
     }
字節數組轉換成十六進制字符串:
hexadecimal (String) to integer :
int i = Integer.valueOf("B8DA3", 16).intValue();
   或
int i = Integer.parseInt("B8DA3", 16);    

ASCII code to String
   int i = 64;
   String aChar = new Character((Char)i).toString();
integer to ASCII code (byte)
char c = 'A';
int i  = (int) c; // i ==  65 DECIMAL

從字符串中提取ASCII碼:
String test = "ABCD";
for ( int i = 0; i < test.length(); ++i ) {
   char c = test.charAt( i );
   int j = (int) c;
   System.out.println(j);
}
integer to boolean
b = (i != 0);
// ex : 42 != 0 --> true
boolean to integer
i = (b)?1:0;
// true --> 1
Note :捕捉非法數字轉換, 使用 try/catch 異常處理機制.
try{
  i = Integer.parseInt(aString);
}
catch(NumberFormatException e) {
  ...
}
 
本文來自程式先鋒技術文庫 www.javabiz.cn
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章