与字符串相关的类型转换

本文来自程式先锋技术文库 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章