我认为这是一个简单的问题,但我想知道如何总结任何数字的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
逻辑就是像在一年级或二年级那样做。向后开始,处理数字,然后逐位添加。 –