📜  将 biginteger 转换为字符串 java (1)

📅  最后修改于: 2023-12-03 14:53:42.695000             🧑  作者: Mango

将 BigInteger 转换为字符串 Java

在 Java 中,我们可以使用 toString() 方法将 BigInteger 类型的数值转换为字符串。

使用方法

以下是将 BigInteger 类型的数值转换为字符串的示例代码:

BigInteger bigInteger = new BigInteger("123456789");
String str = bigInteger.toString();
System.out.println(str);

输出结果为:

123456789

在这个示例中,我们首先通过 BigInteger 的构造函数创建一个 BigInteger 对象,然后使用 toString() 方法将其转换为字符串类型,并将其赋值给一个字符串变量。最后,我们打印字符串变量的值。

参数说明

toString() 方法有两个重载版本,并且可以接受一个整数参数。这个整数参数表示将数值转换为字符串时使用的进制。默认情况下,将以十进制形式返回字符串。

例如,以下示例将一个 BigInteger 对象转换为二进制字符串:

BigInteger bigInteger = new BigInteger("123456789");
String binaryStr = bigInteger.toString(2);
System.out.println(binaryStr);

输出结果为:

111010110111100110100010101
注意点

需要注意的是,如果要将一个 BigInteger 对象转换为比较大的字符串(例如,长度超过 Integer.MAX_VALUE),我们需要使用 StringBuilder 来处理字符串拼接和创建。

以下是一个示例代码:

BigInteger bigInteger = new BigInteger("12345678901234567890");
StringBuilder sb = new StringBuilder();
while (bigInteger.compareTo(BigInteger.ZERO) > 0) {
    BigInteger[] result = bigInteger.divideAndRemainder(BigInteger.TEN);
    sb.append(result[1]);
    bigInteger = result[0];
}
String str = sb.reverse().toString();
System.out.println(str);

输出结果为:

12345678901234567890

在这个示例中,我们使用 StringBuilder 来拼接字符串,并使用 BigInteger 对象的 divideAndRemainder() 方法将数值逐位拆分。然后,我们使用 reverse() 方法来翻转字符串,最后将其转换为字符串类型。

结论

在 Java 中,我们可以使用 toString() 方法将 BigInteger 类型的数值转换为字符串。可以使用重载的 toString(radix) 方法来指定进制数。对于大字符串转换,建议使用 StringBuilder 来处理字符串拼接和创建。