我知道在Java中int可以得到2,147,483,647的值.但我想要更多的价值.我有一个公式例如:
double x = a/(b*c);
Run Code Online (Sandbox Code Playgroud)
所以分母(b*c)可以达到10 ^ 10甚至更高.但每当我执行公式时,该值始终限制为2,147,483,647.我知道因为x必须始终小于1.0.P/S:如果满足某些条件,即使变量"a"也可以达到10 ^ 10.a,b,c都是整数.
既然你要求它,这是一个BigInteger例子:
BigInteger a = new BigInteger("yourNumberInStringFormA");
BigInteger b = new BigInteger("yourNumberInStringFormB");
BigInteger c = new BigInteger("yourNumberInStringFormC");
BigInteger x = a.divide(b.multiply(c));
Run Code Online (Sandbox Code Playgroud)
哪里"yourNumberInStringForm"是可选的减号和数字(没有空格或逗号).例如BigInteger z = new BigIntger("-3463634"); NB:如果您的号码在其范围内,BigInteger将实际long为您返回. longs结束L,如:
long num = 372036854775807L;
Run Code Online (Sandbox Code Playgroud)
a的最大长度为long:9,223,372,036,854,775,807.如果你的数字会低于这个数字,那么它将使你的生活更容易使用,long或者Long它的包装,结束BigInteger.因为long,你不必使用分割/乘法等方法.