當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java String轉BigInteger用法及代碼示例


在Java中,BigInteger類是的一部分java.math包,旨在處理任意精度整數。與 int 或 long 等具有固定大小限製的基本數據類型不同,BigInteger 可以表示任何大小的整數,僅受可用內存的限製。

字符串到 BigInteger 轉換的示例

給定一個字符串,並將其轉換為BigInteger 數字。

Example 1: Input String: “12345678901234578901201234567890”
Output BigInteger: 12345678901234578901201234567890

Example 2: Hexadecimal String: “1b4a5c6d7e8f”
Output BigInteger: 30006192209551

如何在 Java 中將字符串轉換為BigInteger?

Java中有一些將String轉換為BigInteger的方法,如下所述:

  1. 使用BigInteger toString()構造函數
  2. 使用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 );



相關用法


注:本文由純淨天空篩選整理自m0hitkirange大神的英文原創作品 Convert a String to a BigInteger in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。