terça-feira, 3 de abril de 2007

Convertendo do tipo X para o tipo Y

integer para String :
int i = 42;
String str = Integer.toString(i);
ou
String str = "" + i

double para String :
String str = Double.toString(i);

long para String :
String str = Long.toString(l);

float para String :
String str = Float.tString(f);

String para integer :
   str = "25";
int i = Integer.valueOf(str).intValue();
ou
int i = Integer.parseInt(str);

String para double :
Double d = Double.valueOf(str).doubleValue();

String para long :
   long l = Long.valueOf(str).longValue();
ou
Long L = Long.parseLong(str);

String para float :
Float f = Float.valueOf(str).floatValue();

decimal para binary :
int i = 42;
String bin = Integer.toBinaryString(i);

decimal para hexadecimal :
   int i = 42;
String hexstr = Integer.toString(i, 16);

ou
String hexstr = Integer.toHexString(i);

ou (with leading zeroes and uppercase)
public class Hex {
public static void main(String args[]){
int i = 42;
System.out.print
(Integer.toHexString( 0x10000 | i).substring(1).toUpperCase());
}
}

hexadecimal (String) para integer :
int i = Integer.valueOf("B8DA3", 16).intValue();
ou
int i = Integer.parseInt("B8DA3", 16);

ASCII para String
   int i = 64;
String aChar = new Character((Char)i).toString();

integer para ASCII (byte)
char c = 'A';
int i = (int) c; // i == 65 DECIMAL

Para extrair código Ascii de uma String
String test = "ABCD";
for ( int i = 0; i < c =" test.charAt(" j =" (int)">

integer para boolean
b = (i != 0);

boolean para integer
i = (b)?1:0;

Note :
Para pegar um "illegal number conversion"
try{
i = Integer.parseInt(aString);
}
catch(NumberFormatException e) {
...
}