首页 > 代码库 > java 13-4 Integer和String、int之间的转换,进制转换

java 13-4 Integer和String、int之间的转换,进制转换

1、int类型和String类型的相互转换

  A、int -- String
    推荐用:
      public static String valueOf(int i) 返回 int 参数的字符串表示形式。

  B、String -- int
    推荐用:
      public static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析

 1 public class IntegerDemo { 2 public static void main(String[] args) { 3 // int -- String 4 int number = 100; 5 // 方式1 创建个空字符串再进行拼接 6 String s1 = "" + number; 7 System.out.println("s1:" + s1); 8 // 方式2 public static String valueOf(int i) 返回 int 参数的字符串表示形式。  9 //不管number是什么类型,都可以转换成String类型,推荐用10 String s2 = String.valueOf(number);11 System.out.println("s2:" + s2);12 // 方式3 13 // int -- Integer -- String14 Integer i = new Integer(number);15 String s3 = i.toString();16 System.out.println("s3:" + s3);17 // 方式418 // public static String toString(int i)19 String s4 = Integer.toString(number);20 System.out.println("s4:" + s4);21 System.out.println("-----------------");22 23 // String -- int24 String s = "100";25 // 方式126 // String -- Integer -- int27 Integer ii = new Integer(s);28 // public int intValue()29 int x = ii.intValue();30 System.out.println("x:" + x);31 //方式2 public static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析32 int y = Integer.parseInt(s);33 System.out.println("y:"+y);34 }35 }

 

2、常用的基本进制转换
  1、public static String toBinaryString(int i)
  2、public static String toOctalString(int i)
  3、public static String toHexString(int i)

  A、十进制到其他进制

    推荐用这个:
      public static String toString(int i,int radix)
      由这个我们也看到了进制的范围:2-36
      为什么呢?0,...9,a...z 个数加起来就是36

  B、其他进制到十进制
      public static int parseInt(String s,int radix)
    注意:字符串里的字符必须能够组成后面进制,如("123",2)就不行,因为3超出了2进制的范围

 1 public class IntegerDemo { 2 public static void main(String[] args) { 3 // 十进制到二进制,八进制,十六进制 4 System.out.println(Integer.toBinaryString(100)); 5 System.out.println(Integer.toOctalString(100)); 6 System.out.println(Integer.toHexString(100)); 7 System.out.println("-------------------------"); 8  9 // 十进制到其他进制 进制的范围:2-3610 System.out.println(Integer.toString(100, 10));11 System.out.println(Integer.toString(100, 2));12 System.out.println(Integer.toString(100, 8));13 System.out.println(Integer.toString(100, 16));14 System.out.println(Integer.toString(100, 5));15 System.out.println(Integer.toString(100, 7));16 System.out.println(Integer.toString(100, -7));17 System.out.println(Integer.toString(100, 70));18 System.out.println(Integer.toString(100, 1));19 System.out.println(Integer.toString(100, 17));20 System.out.println(Integer.toString(100, 32));21 System.out.println(Integer.toString(100, 37));22 System.out.println(Integer.toString(100, 36));23 System.out.println("-------------------------");24 25 //其他进制到十进制26 System.out.println(Integer.parseInt("100", 10));27 System.out.println(Integer.parseInt("100", 2));28 System.out.println(Integer.parseInt("100", 8));29 System.out.println(Integer.parseInt("100", 16));30 System.out.println(Integer.parseInt("100", 23));31 //NumberFormatException 因为3超出了2进制的范围32 //System.out.println(Integer.parseInt("123", 2));33 }34 }

 

java 13-4 Integer和String、int之间的转换,进制转换