SMTH Java FAQ (2) 資料轉換(菜鳥必看) (轉)

worldblog發表於2007-12-11
SMTH Java FAQ (2) 資料轉換(菜鳥必看) (轉)[@more@]

1 字串轉換成資料

 

  字串轉換成整數:

 

  String MyNumber ="1234";

  int  MyInt = Integer.parseInt(MyNumber);

 

  字串轉換成byte, short, int, float, double, long等資料型別,可

  以分別參考Byte, Short, Integer, Float, Double, Long類的parseXXX

  方法。

 

2 資料轉換成字串

 

  整數轉換成字串:

 

  int  MyInt = 1234;

  String MyString = "" + MyInt;

 

  其它資料型別可以利用同樣的方法轉換成字串。

 

3 十進位制到其他進位制的轉換

 

  十進位制整數轉換成二進位制整數,返回結果是一個字串:

 

  Integer.toBinaryString(int i);

 

  Integer和Long提供了toBinaryString, toHexString和toOctalString方

  法,可以方便的將資料轉換成二進位制、十六進位制和八進位制字串。功能更

  加強大的是其toString(int/long i, int radix)方法,可以將一個十進

  制數轉換成任意進位制的字串形式。

 

  byte, short, float和double等資料型別,可以利用Integer或者是Long

  的toBinaryString, toHexString, to OctalString和toString方法轉換

  成其他進位制的字串形式。

 

4 其它進位制到十進位制的轉換

 

  五進位制字串14414轉換成十進位制整數,結果是1234:

 

  System.out.println(Integer.valueOf("14414", 5);

 

  Integer和Long提供的valueOf(String , int radix)方法,可以

  將任意進位制的字串轉換成十進位制資料。

 

5 整數到位元組陣列的轉換

 

  public static byte[] toByteArray(int number)

  {

  int temp = number;

  byte[] b=new byte[4];

  for (int i = b.length - 1; i > -1; i--)

  {

  b[i] = new Integer(temp & 0xff).byteValue();

  temp = temp >> 8;

  }

  return b;

  }

 

6 位元組陣列到整數的轉換

 

  public static int toInteger(byte[] b)

  {

  int s = 0;

 

  for (int i = 0; i < 3; i++)

  {

  if (b[i] > 0)

  s = s + b[i];

  else

  s = s + 256 + b[i];

  s = s * 256;

  }

 

  if (b[3] > 0)

  s = s + b[3];

  else

  s = s + 256 + b[3];

 

  return s;

  }

 

7 短整數與位元組陣列之間的相互轉換

 

  short與int之間的區別在於short是兩個位元組的,而int是四個位元組的。

  因此,只需要將5 與6 中的範例小做改動,即可實現短整數與位元組

  陣列之間的相互轉換。

 

8 位元組陣列轉換成雙精度浮點數

 

 public double toDouble(byte[] b)

 {

 

  long l = 0;

  Double D = new Double(0.0);

 

  l  = b[0];

  l |= ((long)b[1]<<8);

  l |= ((long)b[2]<<16);

  l |= ((long)b[3]<<24);

  l |= ((long)b[4]<<32);

  l |= ((long)b[5]<<40);

  l |= ((long)b[6]<<48);

 

  l |= ((long)b[7]<<56);

 

  return D.longBitsToDouble(l);

 

 }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991172/,如需轉載,請註明出處,否則將追究法律責任。

相關文章