Scala除法结果为0

时间:2017-05-01 17:17:13

标签: scala list division

我正在编译此代码并在分区上获得0

println((MarkAnalysis.failAmount/Student.studentsId.length).toDouble + " " + MarkAnalysis.failAmount + " " + Student.studentsId.length)

我打印出来以确保除法不返回零,

MarkAnalysis.failAmount = 14
MarkAnalysis.studentsId.length = 53

我不明白为什么我得到0.0的结果。

1 个答案:

答案 0 :(得分:2)

hazzard猜测failAmount和studentId都是整数(int或long),因此结果是整数(即int / int是int)。由于53> 14,这将是0.仅在计算0之后,它将被转换为double。

你想进行双重划分,因此在进行除法之前需要转换为double,例如:

MarkAnalysis.failAmount.toDouble/Student.studentsId.length.toDouble