首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中使用类型double时强制转换为Integer

在Java中使用类型double时强制转换为Integer
EN

Stack Overflow用户
提问于 2018-08-19 09:27:49
回答 4查看 383关注 0票数 1

我有这个简单的代码,在得到double类型的结果之前,我需要理解为什么等式的右边被强制转换为整数。这里的答案是1.0,所以我不明白为什么不是1.5

代码语言:javascript
复制
int x = 2;
double y = 1 + 1/x;
System.out.println(y);
EN

回答 4

Stack Overflow用户

发布于 2018-08-19 09:40:55

只需按如下所示更新代码,因为您正在处理doubles。

代码语言:javascript
复制
int x = 2;
double y = 1 + 1.0/x;
System.out.println(y);
票数 1
EN

Stack Overflow用户

发布于 2018-08-19 09:41:22

注意:双y=1+ 1/x;

修正:双y=1+ 1.0/x;

你会得到1.5

票数 1
EN

Stack Overflow用户

发布于 2018-08-19 09:47:58

这里x是一个整数,1也是一个整数,所以计算是在int中完成的,所以你得到的答案是1.0。要获得1.5,你必须将1转换为1.0的两倍。然后您将获得as 1.5。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51913747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档