如何解决:当我尝试打印double值时,它会输出四舍五入的值

时间:2019-06-29 02:11:44

标签: java double

请考虑以下代码段:

    int[] dataSet = {1,2,3,4};
    int total = 0;
    for(int temp : dataSet){
        total += temp;
}

    double mean = (total / dataSet.length);
    System.out.println(mean);

我希望它输出2.5,因为这是1,2,3,4的平均值。而是打印了2.0。为什么会这样,我该如何解决?

2 个答案:

答案 0 :(得分:0)

Java 7或更高版本(如果您使用int / int,则您具有int

尝试将一个数字强制翻倍。

double res = 1 /(double)2;

答案 1 :(得分:0)

您的除法是整数除法。 尝试以下操作:

double mean = (((double)total) / dataSet.length);