与字符串相关的类型转换

本文来自程式先锋网站 http://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) {
  ...
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值