eclipse中的Java最大文字数

前端之家收集整理的这篇文章主要介绍了eclipse中的Java最大文字数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一条看起来像的线

if(numb2 < 10000000000000 & numb2 > 100000000000){

所以在Eclipse中它表示10000000000000和100000000000都不在整数字面范围内.特别

int类型的文字10000000000000超出范围

int类型的文字1000000000000超出范围

我改变了线,看起来像

if(numb2 < 1000000000*10000 & numb2 > 100000000*1000){

但如果你在那个范围内键入一个数字,它就说了

Exception in thread "main" java.lang.NumberFormatException: For input string: "5555555555555"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at twothousandthirteen.LuckyNumber.main(LuckyNumber.java:12)

我想知道是否有办法扩展文字数范围或做任何事情来解决问题.

谢谢
KMehta

最佳答案
这些数字大于最大的int值,即231-1或2147483647,并且可以作为常量Integer.MAX_VALUE使用.

您能够将其编码为1000000000 * 10000的原因是因为尽管每个被乘数都在最大int值的范围内,但结果不是,并且java在overflowing之前处理结果,因此它落在有效范围内.

解决这个问题,如果数字(java中的默认数字类型是int),你的变量应该使用Long.parseLong()以满足较大的值,那么也可以通过在末尾附加L来使变量变长(64位)和常量变长.你的意见.

请注意,与int类似,long的范围也是有限的:到263-1或9223372036854775807,可用作常量Long.MAX_VALUE.

对于任意大的数字,请使用BigInteger类.

猜你在找的Java相关文章