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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高梦晓 中级黑马   /  2013-4-12 18:02  /  3440 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 高梦晓 于 2013-4-13 11:16 编辑

在java中做除法运算后总是归整数的问题...很是郁闷. 比如3/5 int 结果为 0, double 结果为0.0.... 为什么??? 有什么办法能让除法后的小数保留下来?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

5 个回复

倒序浏览
double b = 3*1.0/4;
我觉得你是这样了
double b =3/4;
这样3是一个int 4也是一个int

只有把一种一个转成double,才能成为你想要的结果

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
  1. System.out.println((double)3/5);
  2. :0.6
复制代码
回复 使用道具 举报
楼上没错3/5运算3和5默认的都是int ,int与int运算默认结果还是int,然后你再把它转为double。。。这结果不就是0.0吗
你把其中的一个参数转为double就不会发生这样的问题了
例如double b = 3/((double)5);或者直接写成double的形式3.00/5

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
楼主在用C语言的思想写Java哦。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马