加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在long / int划分中意外的结果

发布时间:2020-12-14 16:46:39 所属栏目:Java 来源:网络整理
导读:我有这样的价值: long millis = 11400000;int consta = 86400000;double res = millis/consta; 问题是:为什么res等于0.0(而不是约0.131944)?它存储在双,所以应该没有四舍五入的权利? 解决方法 当您使用二进制运算符时,两个参数应该是相同的类型,结果也将
我有这样的价值:
long millis = 11400000;
int consta = 86400000;
double res = millis/consta;

问题是:为什么res等于0.0(而不是约0.131944)?它存储在双,所以应该没有四舍五入的权利?

解决方法

当您使用二进制运算符时,两个参数应该是相同的类型,结果也将在它们的类型中.当你想分割(int)/(long)时,它变成(long)/(long),结果是(long).你应该做(double)/(long)或(int)/(double)来获得双重结果.由于double是int和long,int和long将在(double)/(long)和(int)/(double)中变为double

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读