为什么"12758568791275877358"转换为double类型的没问题,而转换为long类型的时候就不行了呢? 本帖最后由 OnlyOneLove 于 2011-12-12 15:44:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 long的范围是多少呢?如果连long都不能表示12758568791275877358,那又用哪一种数据类型来表示它呢?? 127585687912758773589223372036854775807 = Long.MAX_VALUE JAVA大数处理(BigInteger,BigDecimal)java.math.* 里面的lz可以去查api long 能表示的范围-9223372036854775808~9223372036854775807越界了,像这种的数字较长的,没什么特殊要求可以用String 有的,一般需要精确计算的最好用BigDecimal,否则的话有可能丢失精度 因为long的取值范围在-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间。楼主的应该超过了范围了吧 用大数据类型吧BigDecimal 类似于Long Long.MAX_VALUE:9223372036854775807Long.MIN_VALUE:-9223372036854775808楼主输出一下就知道 double的最大值了 请大侠看看程序嵌套有什么问题,不能运行 , 一道ACM题目,求到达18岁生日时所经过的天数,总是WRONG ANSWER java unicode的问题 在用bufferedreader类read方法的时候,当读到流末尾时,会返回-1,如果继续读,是不是继续返回-1呢? 空指针异常问题 怎么样让二维数组的各个数值不等 运行java造成windows 2000 server篮屏,如何解决? 请打家进来看看,给点意见 java中关于引用与值传递的问题 图片和jlabel的大小不相同,怎样让图片充满整个jlabel? DES解密的问题 applet在浏览器中运行出错问题 java 执行bat
如果连long都不能表示12758568791275877358,那又用哪一种数据类型来表示它呢??
9223372036854775807 = Long.MAX_VALUE
java.math.* 里面的
lz可以去查api
-9223372036854775808~9223372036854775807
越界了,
像这种的数字较长的,没什么特殊要求可以用String
有的,一般需要精确计算的最好用BigDecimal,否则的话有可能丢失精度
Long.MIN_VALUE:-9223372036854775808
楼主输出一下就知道 double的最大值了