📌  相关文章
📜  Java中整数到字符串转换的不同方法

📅  最后修改于: 2020-03-27 02:57:17             🧑  作者: Mango

  • 使用Integer.toString(int)进行转换
    Integer类具有静态方法,该方法返回表示指定的int参数的String对象。
    语法 :
    public static String toString(int i)

    参数i被转换并作为字符串实例返回。如果数字为负,则将保留该符号。
    范例:

    class GfG
    {
      public static void main(String args[])
      {
        int a = 1234;
        int b = -1234;
        String str1 = Integer.toString(a);
        String str2 = Integer.toString(b);
        System.out.println("String str1 = " + str1);
        System.out.println("String str2 = " + str2);
      }
    }

    输出:

    String str1 = 1234
    String str2 = -1234
  • 使用String.valueOf(int)进行示例转换
    class GfG
    {
      public static void main(String args[])
      {
        int c = 1234;
        String str3 = String.valueOf(c);
        System.out.println("String str3 = " + str3);
      }
    }

    或者

    class GfG
    {
      public static void main(String args[])
      {
        String str3 = String.valueOf(1234);
        System.out.println("String str3 = " + str3);
      }
    }

    输出:

    String str3 = 1234
  • 使用Integer(int).toString()进行转换
    此方法使用Integer类的实例来调用其toString()方法。
    范例:
    class GfG
    {
      public static void main(String args[])
      {
        int d = 1234;
        Integer obj = new Integer(d);
        String str4 = obj.toString();
        System.out.println("String str4 = " + str4);
      }
    }

    或者

    class GfG
    {
      public static void main(String args[])
      {
        int d = 1234;
        String str4 = new Integer(d).toString();
        System.out.println("String str4 = " + str4);
      }
    }

    要么

    class GfG
    {
      public static void main(String args[])
      {
        String str4 = new Integer(1234).toString();
        System.out.println("String str4 = " + str4);
      }
    }

    输出:

    String str4 = 1234

    如果您的变量是基本类型(int),则最好使用Integer.toString(int)或String.valueOf(int)。但是,如果您的变量已经是Integer的实例(原始类型为int的包装器类),则最好调用它的toString()方法,如上所示。此方法效率不高,因为在执行转换之前已创建Integer类的实例。

  • 使用DecimalFormat进行转换
    类java.text.DecimalFormat是将数字格式化为String的类。
    范例: 
    import Java.text.DecimalFormat;
    class GfG
    {
      public static void main(String args[])
      {
        int e = 12345;
        DecimalFormat df = new DecimalFormat("#");
        String str5 = df.format(e);
        System.out.println(str5);
      }
    }

    输出: 

    String str5 = 12345

    或者 

    import Java.text.DecimalFormat;
    class GfG
    {
      public static void main(String args[])
      {
        int e = 12345;
        DecimalFormat df = new DecimalFormat("#,###");
        String Str5 = df.format(e);
        System.out.println(Str5);
      }
    }
    

    输出: 

    String str5 = 12,345

    使用此方法,可以指定小数位数和逗号分隔符以提高可读性。

  • 使用StringBuffer或StringBuilder转换StringBuffer
    用于将多个值连接到String中的类。StringBuilder的工作原理类似,但不是像S​​tringBuffer那样线程安全的。
    StringBuffer示例 
    class GfG
    {
      public static void main(String args[])
      {
        int f = 1234;
        StringBuffer sb = new StringBuffer();
        sb.append(f);
        String str6 = sb.toString();
        System.out.println("String str6 = " + str6);
      }
    }

    或者

    class GfG
    {
      public static void main(String args[])
      {
        String str6 = new StringBuffer().append(1234).toString();
        System.out.println("String str6 = " + str6);
      }
    }

    输出: 

    String str6 = 1234

    StringBuilder示例 

    class GfG
    {
      public static void main(String args[])
      {
        int g = 1234;
        StringBuilder sb = new StringBuilder();
        sb.append(g);
        String str7 = sb.toString();
        System.out.println("String str7 = " + str7);
      }
    }

    或者

    class GfG
    {
      public static void main(String args[])
      {
        String str7 = new StringBuilder().append(1234).toString();
        System.out.println("String str7 = " + str7);
      }
    }

    输出: 

    String str7 = 1234

     

  • 使用特殊基数进行转换
    上面所有示例都使用基数10。以下是转换为二进制,八进制和十六进制系统的便捷方法。还支持任意的自定义编号系统。
    例子 :
    class GfG
    {
      public static void main(String args[])
      {
        int h = 255;
        String binaryString = Integer.toBinaryString(h);
        System.out.println(binaryString);
      }
    }

    输出:

    11111111

    11111111是数字255的二进制表示。

    class GfG
    {
      public static void main(String args[])
      {
        int i = 255;
        String octalString = Integer.toOctalString(i);
        System.out.println(octalString);
      }
    }
    

    输出:

    377

    377是数字255的八进制表示形式。
    十六进制

    class GfG
    {
      public static void main(String args[])
      {
        int j = 255;
        String hexString = Integer.toHexString(j);
        System.out.println(hexString);
      }
    }

    输出:

    ff

    ff是数字255的十六进制表示形式。
    定义基数:将int转换为String时,可以使用任何其他自定义基数/基数。
    以下示例使用以7为底的数字系统。

    class GfG
    {
      public static void main(String args[])
      {
        int k = 255;
        String customString = Integer.toString(k, 7);
        System.out.println(customString);
      }
    }

    输出:

    513

    513是写在base 7系统中的数字255的表示。