A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程钧杰 黑马帝   /  2011-9-14 23:00  /  2439 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

9999亿 该用什么数据类型?
肯定是超过int了
但是我用long的时候
他还是会先用int判断
还是超出范围
怎么解决?

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

6 个回复

倒序浏览
黑马网友  发表于 2011-9-14 23:30:33
沙发
long类型的数据要在后面加个L,不然就会当成int。如long l = 999999999999L;就没问题了

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-15 00:56:01
藤椅

回复 沙发 的帖子

百度也是这样说的
那请问我怎么取999亿那那个前四位?
回复 使用道具 举报
黑马网友  发表于 2011-9-15 06:55:46
板凳
除就可以了,123456789012 / 100000000 = 1234;要得到前多少位除以相应的位数就可以得到

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 不错哦!

查看全部评分

回复 使用道具 举报
用BigInteger不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。
这是jdk提供的专门用于储存大数据的api,不过对这些数值进行操作时就不能使用+ - * / 了,要用这个类的提供的方法了
BigInteger big = new BigInteger("999999999999");
具体请查看api之java.math.BigInteger类
类似的还有BigDecimal类
[ 本帖最后由 杨相国 于 2011-09-15  07:08 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 不错哦!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-15 17:04:44
地板

回复 报纸 的帖子

BigInteger  交易系统里面用的比较多吧
回复 使用道具 举报
黑马网友  发表于 2011-9-15 17:39:08
7#
我相信LZ一定没好好看过视频,上面讲得很清楚,并且多次提到float,double的关系,和int,long是一样的道理。
如果单单是单精度,要+上 f ;同理+ l .
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马