为了账号安全,请及时绑定邮箱和手机立即绑定

double取模结果为什么是4.0而不是4.4

int m = 5; int n = 7; double x=(m*8/(n+2))%m; System.out.println("x:" + x); 

为什么不是4.4而是4.0呢?

正在回答

4 回答

因为m, n 的类型为int

0 回复 有任何疑惑可以回复我~
#1

qq_风_157 提问者

非常感谢!
2017-01-15 回复 有任何疑惑可以回复我~

package com.imooc;


public class HelloWorld {

    public static void main(String[] args) {

double x=40/9+0.0;

System.out.println(x);

}

}

就这样也是4.0,我也不明白,一起等大神吧。

0 回复 有任何疑惑可以回复我~

double x=40/9;输出结果也是4.0

为什么呢?

0 回复 有任何疑惑可以回复我~

刚才验证了下,将(n+2)改为(n+2.0)结果是4.4444444444445


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

double取模结果为什么是4.0而不是4.4

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信