Java 版 (精华区)

发信人: DreamWeaver (东方欲晓), 信区: Java
标  题: SMTH Java FAQ (2) 数据转换
发信站: 哈工大紫丁香 (2002年07月31日09:44:51 星期三), 站内信件

SMTH Java FAQ (2) 数据转换

qyjohn@SMTH

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 source, 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);
   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);

 }

--
 ("`-''-/").___..--''"`-._                          云与清风常拥有,
  `6_ 6  )   `-.  (     ).`-.__.`)                  冰雪知音世难求。
   (_Y_.)'  ._   )  `._ `. ``-..-                   击节纵歌相对笑,
  _..`--'_..-_/  /--'_.' ,'                         案上诗书杯中酒。
 (il),-''  (li),'  ((!.-'                                2000.12.31
___________________________________________________________________

--

你看到我的妮妮了吗?Q_Q          忘掉她,忘掉她就可以不必再忍受,忘掉她就不再有痛苦。忘掉她,忘掉
     你没有的东西,忘掉别人有的东西,忘掉你失去和以后不能得到的东西,忘掉
     仇恨,忘掉屈辱,忘掉爱情,象犀牛忘掉草原,象水鸟忘掉湖泊,象地狱里的
     人忘掉天堂,象截肢的人忘掉自己曾快步如飞,象落叶忘掉风,象公犀牛忘掉
     母犀牛。忘掉是一般人能做的唯一的事。但是我决定不忘掉她。

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.4]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.148毫秒