我認爲這是一個簡單的問題,但我想知道如何總結任何數字的Java。任何數字的總和
如果我們在其MAX_VALUE
中添加任何「否」,它會顯示-ve no。
12344587387873878 + 374892 = ?
e.g
任何邏輯。
我認爲這是一個簡單的問題,但我想知道如何總結任何數字的Java。任何數字的總和
如果我們在其MAX_VALUE
中添加任何「否」,它會顯示-ve no。
12344587387873878 + 374892 = ?
e.g
任何邏輯。
您可以使用BigInteger
。
請看BigInteger
類。
此外,你可以自己實現。
在這裏看到:
How would i add very large Numbers represented as Strings i.e 50 digit numbers
如果你想存儲任何號(技術上的例子可能是一個漫長),你將要使用BigDecimal
。 BigInteger
也可以使用,如果你知道你的總和將是一個整數。
BigDecimal
示例;
BigDecimal bigD1 = new BigDecimal(1234458738787.387*1000);
BigDecimal bigD2 = new BigDecimal(374892.5);
System.out.println(bigD1.add(bigD2));
輸出:1234458739162279.5。
由於12344587387873878
太大而無法存儲爲整數,因此您無法將其作爲文字輸入(所有非浮點文字均爲隱式整數)以進入您的構造函數BigDecimal
。所以我將它自己分成1000,然後在構造函數中分配*1000
。或者,您可以使用科學記數法。
或,你可以通過BigDecimal一個字符串。
BigDecimal bigD1 = new BigDecimal("1234458738787387");
作爲一個警告,BigDecimal確實有它的問題與非常高的準確性數字。它不能準確地表示Pi,或者甚至例如1/3。
OP需要它背後的邏輯。 – Nambi
邏輯就是像在一年級或二年級那樣做。向後開始,處理數字,然後逐位添加。 –