在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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。