为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Long.parseLong最多只能转换19位数字,Long最大不是64位么?

为什么Long.parseLong最多只能转换19位数字,Long最大不是64位么?

莫回无 2019-03-21 18:19:11
我有一个36位数字的字符串,我想把它转化为Long类型,但是每次转换(Long.parseLong)都会报错Exception in thread "main" java.lang.NumberFormatException: For input string: "10010111811111111111"    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)    at java.lang.Long.parseLong(Long.java:592)    at java.lang.Long.parseLong(Long.java:631)我反复试验后,发现最多只能转换19位的数字,这是为什么啊??
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

long类型的最大值是9223372036854775807,刚好长度是19个数字。你说的64位 应该说的是2的64次方。


查看完整回答
反对 回复 2019-04-22
?
守着一只汪

TA贡献1872条经验 获得超3个赞

long的64位是二进制的64位,你说的19位是19个字符


查看完整回答
反对 回复 2019-04-22
  • 3 回答
  • 0 关注
  • 3922 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信