在Java中,BigInteger类是的一部分java.math包,旨在处理任意精度整数。与 int 或 long 等具有固定大小限制的基本数据类型不同,BigInteger 可以表示任何大小的整数,仅受可用内存的限制。
字符串到 BigInteger 转换的示例
给定一个字符串,并将其转换为BigInteger 数字。
Example 1: Input String: “12345678901234578901201234567890”
Output BigInteger: 12345678901234578901201234567890Example 2: Hexadecimal String: “1b4a5c6d7e8f”
Output BigInteger: 30006192209551
如何在 Java 中将字符串转换为BigInteger?
Java中有一些将String转换为BigInteger的方法,如下所述:
- 使用BigInteger toString()构造函数
- 使用String valueOf()方法
1. 使用构造函数将字符串转换为BigInteger
下面是上述方法的实现:
Java
// Java Program to implement
// Convert String to BigInteger
// Using BigInteger Constructor
import java.math.BigInteger;
// Driver Class
class GFG {
// main function
public static void main (String[] args) {
// String Created
String numberStr = "12345678901234578901201234567890";
// Converted BigInteger
BigInteger bigInt = new BigInteger(numberStr);
System.out.println("String: " + numberStr);
System.out.println("BigInteger: " + bigInt);
}
}
String: 12345678901234578901201234567890 BigInteger: 12345678901234578901201234567890
2. 使用BigInteger.valueOf()方法进行转换
下面是 BigInteger.valueOf() 方法的实现:
Java
// Java Program to implement
// Convert String to BigInteger
// Using BigInteger Constructor
import java.io.*;
import java.math.BigInteger;
// Driver Class
class GFG {
// main function
public static void main(String[] args)
{
// String Declared
String numberStr = "987654323245129963";
// Converted to BigInteger using valueOf()
BigInteger bigInt = BigInteger.valueOf(Long.parseLong(numberStr));
// Result Displayed
System.out.println("String: " + numberStr);
System.out.println("BigInteger: " + bigInt);
}
}
String: 987654323245129963 BigInteger: 987654323245129963
Java 中的非十进制整数字符串为 BigInteger
与十进制数字(以 10 为基数的数字)类似,我们可以转换其他数字格式,例如 Base-2(二进制)、Base-8(八进制)、Base-16(十六进制)等。
下面是解释执行此转换的方法的实现:
Java
// Java Program to implement Convert
// Non Decimal String to BigInteger
import java.io.*;
import java.math.BigInteger;
// Driver Class
class GFG {
// main function
public static void main(String[] args)
{
// Replace this string with your Hexadecimal bigInteger
String hexString = "1b4a5c6d7e8f";
// Convert Hexadecimal string to BigInteger
BigInteger bigInt
= new BigInteger(hexString, 16);
// Print the result
System.out.println("Hexadecimal String: " + hexString);
System.out.println("Equivalent BigInteger: " + bigInt);
}
}
Hexadecimal String: 1b4a5c6d7e8f Equivalent BigInteger: 30006192209551
上述程序的解释:
在上面的示例中,我们使用 BigInteger 构造函数来转换字符串 hexString,其中包含以 16 为基数的字符串编号。它解释了这样一个事实:如果我们想要以 x 为基数转换字符串 str,那么我们可以使用以下语法BigInteger res = new BigInteger( str, x );
相关用法
- Java String转Byte用法及代码示例
- Java String转Boolean用法及代码示例
- Java String转ArrayList用法及代码示例
- Java String转InputStream用法及代码示例
- Java String转Short用法及代码示例
- Java String转Int用法及代码示例
- Java String转Date用法及代码示例
- Java String转Double用法及代码示例
- Java String转Object用法及代码示例
- Java String转Float用法及代码示例
- Java String转Long用法及代码示例
- Java String转Character用法及代码示例
- Java String转LocalDate用法及代码示例
- Java String转UUID用法及代码示例
- Java String转InetAddress用法及代码示例
- Java String转Timestamp用法及代码示例
- Java String转Integer Array用法及代码示例
- Java String转IntStream用法及代码示例
- Java String转Float Value用法及代码示例
- Java String转String Array用法及代码示例
- Java String compareToIgnoreCase()用法及代码示例
- Java String compareTo()用法及代码示例
- Java String split()用法及代码示例
- Java String length()用法及代码示例
- Java String replace()用法及代码示例
注:本文由纯净天空筛选整理自m0hitkirange大神的英文原创作品 Convert a String to a BigInteger in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。