计算平均值?

时间:2014-05-07 10:11:36

标签: java hibernate

我有一个计算平均值的方法

Note上课:

private Double moyenneFinale;

@Column(name = "moyenne_finale")
public Double getMoyenneFinale() {
    return this.moyenneFinale;
}

public void setMoyenneFinale(Double moyenneFinale) {
    this.moyenneFinale = moyenneFinale;
}

类calBean

private double result;
public double moyenneFinale;
public calNote {
    result=0.0
    result= ((100 * 20)/100)/45;
    moyenneFinale=result;
    note.setMoyenneFinale(moyenneFinale);
}
//getter and setter

结果应为0.44 但在数据库中记录的给定值为0.0 如果我做+1,那将是1.0

2 个答案:

答案 0 :(得分:2)

((100 * 20)/100)/45处的所有数字文字都是整数,因此每个操作执行整数运算而不是浮点指针算法,最后在赋值操作时将结果转换为double

您应该将至少一个文字更改为100.020.045.0,...

答案 1 :(得分:1)

排队

result= ((100 * 20)/100)/45;

您在整数上使用运算符 / 。在整数上使用时,运算符 / 表现为“ DIV ”(结果整数)。示例:10/4 = 2,但10.0 / 4 = 2.5,10 / 4.0 = 2.5,10.0 / 4.0 = 2.5。

选项包括:

将数字设置为100.0,20.0,100.0和45.0。 (只需将第一个设置为100.0就足够了)。

result= ((100.0 * 20)/100)/45;

在数字上使用强制转换。 (双)100。

result= (((double)100 * 20)/100)/45;

或者在等式之前加1.0 *;

result= 1.0*((100 * 20)/100)/45;

首先,在你的情况下,第一种方法是最好的,如果给出整数x,y,z,t,你的结果是((x * y)/ z)/ t;