2009-12-21 164 views

回答

39

您的具體示例可以存儲在long(或java.lang.Long,如果需要的話)。

如果你需要更大的數字的任何一點,你可以嘗試 java.math.BigInteger(如整數),或java.math.BigDecimal(如果十進制)

+9

的例子,如果你真的需要大量的數字應該只被使用。 10位數字可以很容易地存儲在一個「長」。但是,如果你需要50到5000位數字,這兩個類別是最好的辦法。 – Karl 2009-12-21 08:32:26

+1

很正確..我本能地認爲他已經嘗試了明顯的,並沒有成功。編輯我的答案,以便它是正確的。 – Bozho 2009-12-21 08:36:43

28

您可以存儲這個在long。 A long可以存儲從-92233720368547758089223372036854775807的值。

+0

cletus:點了點,已編輯。 – 2009-12-21 08:36:15

7

一個原始長或其java.lang.Long包裝也可以存儲十個數字。

+1

+1長度可以存儲絕對精度的18-19位數字。除非OP表明他們需要的不僅僅是這些,否則很長的選擇比BigInteger更好。 – cletus 2009-12-21 08:32:50

3

您可以使用長或雙。

+0

雙?如果OP的例子是'9999999999'是指示性的,那麼就不需要爲整數引入浮點不精確。 – 2009-12-21 08:56:10

+0

yup ben你的權利,但只是向他展示我們也可以使用這些東西。這真的取決於您的業務需求。 – akellakarthik 2009-12-21 09:01:40

25

除了所有其他答案,我想注意的是,如果您要在Java代碼中將該數字作爲文字編寫,則需要附加Ll以告知編譯器它是long常數:

long l1 = 9999999999; // this won't compile 
long l2 = 9999999999L; // this will work 
0

你可以通過創建一個持有字符串值數以數組列表存儲的對象而存儲。 舉例:BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");

objt是由BigInt類的構造函數創建的。在課堂內看起來像。

BigInt{ 

ArrayList<Integer> myNumber = new ArrayList <Integer>();   

public BigInt(){} 

public BigInt(String number){ for(int i; i<number.length; i++){ myNumber.add(number.indexOf(i)); } } 

} 
+1

這完全不相干。他沒有詢問數組或列表或52個十進制數字的數字。它甚至沒有編譯。 – EJP 2013-10-14 05:04:07

6

使用BigInt數據類型及其隱式操作。它的好處是它不會給出指數表示的答案。它會給全長結果

下面是這些類是很慢的另外

 BigInteger big1 = new BigInteger("1234567856656567242177779"); 
     BigInteger big2 = new BigInteger("12345565678566567131275737372777569"); 
     BigInteger bigSum = big1.add(big2); 
     System.out.println(bigSum); 
+0

歡迎來到Stack Overflow。如果您在任何地方發現任何相同的問題,則將該問題標記爲重複,而不是再次提供相同的解或者您可以提供之前發佈的答案的鏈接。 – Shell 2014-04-19 06:00:07

相關問題