加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

eclipse中的Java最大文字数

发布时间:2020-12-14 06:08:44 所属栏目:Java 来源:网络整理
导读:我有一条看起来像的线 if(numb2 所以在Eclipse中它表示10000000000000和100000000000都不在整数字面范围内.特别 int类型的文字10000000000000超出范围 和 int类型的文字1000000000000超出范围 我改变了线,看起来像 if(numb2 但如果你在那个范围内键入一个数

我有一条看起来像的线

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类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读