Scala 除法结果 0
Scala division result 0
我正在编译此代码并在除法上得到 0
println((MarkAnalysis.failAmount/Student.studentsId.length).toDouble + " " + MarkAnalysis.failAmount + " " + Student.studentsId.length)
我把它打印出来以确保除法不return零,并且
MarkAnalysis.failAmount = 14
MarkAnalysis.studentsId.length = 53
我不明白为什么我的结果是 0.0。
试猜 failAmount 和 studentId 都是整数(int 或 long),因此结果是整数(即 int / int 是 int)。因为 53>14 这将是 0。只有在计算 0 之后,它才会转换为 double。
您想进行双除法,因此需要在除法之前转换为双精度,例如:
MarkAnalysis.failAmount.toDouble/Student.studentsId.length.toDouble
我正在编译此代码并在除法上得到 0
println((MarkAnalysis.failAmount/Student.studentsId.length).toDouble + " " + MarkAnalysis.failAmount + " " + Student.studentsId.length)
我把它打印出来以确保除法不return零,并且
MarkAnalysis.failAmount = 14
MarkAnalysis.studentsId.length = 53
我不明白为什么我的结果是 0.0。
试猜 failAmount 和 studentId 都是整数(int 或 long),因此结果是整数(即 int / int 是 int)。因为 53>14 这将是 0。只有在计算 0 之后,它才会转换为 double。
您想进行双除法,因此需要在除法之前转换为双精度,例如:
MarkAnalysis.failAmount.toDouble/Student.studentsId.length.toDouble