如何在java中为变量分配非常大的数字?

时间:2011-07-24 18:45:00

标签: java

对于以下代码行,我得到“整数过大:1000000000001”。我该怎么做才能让maxValue可以容纳1千万亿或1万亿?

long maxValue = 1000000000001;      //1,000,000,000,001

3 个答案:

答案 0 :(得分:9)

您需要使用长文字(最后加L):

long maxValue = 1000000000001L; //1,000,000,000,001

请注意,如果您的数字在-2 63 和2 63 -1(包括)之间,则不需要使用BigInteger。 (2 63 -1 = 9223372036854775807L = 0x7fffffffffffffffL。)

答案 1 :(得分:2)

answer已完成。

Java Language Specification:

  

如果整数文字以ASCII为后缀,则其长度为long   字母L或l(ell);否则它的类型为int(§4.2.1)。

答案 2 :(得分:0)

您可以在询问之前检查另一个问题和答案。有人可能有同样的问题并得到了最好的答案。见:

Large Numbers in Java

这可能就是你所需要的。