From 91b17ea91f726061a4b773e2972d3e11abff0dea Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 29 May 2015 11:26:39 +0800 Subject: [PATCH] =?UTF-8?q?float=E7=B1=BB=E5=9E=8B=E5=BE=97=E5=88=86?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=9C=80=E7=BB=88=E5=BE=97=E5=88=86=E6=97=B6?= =?UTF-8?q?=E7=B2=BE=E5=BA=A6=E6=8D=9F=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 9f0cc1d4d..49e54a273 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -1,6 +1,7 @@ class StudentWorkController < ApplicationController layout "base_courses" include StudentWorkHelper + require 'bigdecimal' before_filter :find_homework, :only => [:new, :index, :create] before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work] before_filter :member_of_course, :only => [:index, :new, :create, :show, :add_score, :praise_student_work] @@ -150,7 +151,10 @@ class StudentWorkController < ApplicationController if @work.student_score.nil? @work.final_score = @work.teaching_asistant_score else - @work.final_score = format("%.2f",@work.teaching_asistant_score * @homework.homework_detail_manual.ta_proportion + @work.student_score * (1 - @homework.homework_detail_manual.ta_proportion)) + final_ta_score = BigDecimal.new("#{@work.teaching_asistant_score}") * BigDecimal.new("#{@homework.homework_detail_manual.ta_proportion}") + final_s_score = BigDecimal.new("#{@work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{@homework.homework_detail_manual.ta_proportion}")) + final_score = final_ta_score + final_s_score + @work.final_score = format("%.2f",final_score.to_f) end end when 3 #学生评分 学生评分显示平均分 @@ -159,7 +163,10 @@ class StudentWorkController < ApplicationController if @work.teaching_asistant_score.nil? @work.final_score = @work.student_score else - @work.final_score = format("%.2f",@work.teaching_asistant_score * @homework.homework_detail_manual.ta_proportion + @work.student_score * (1 - @homework.homework_detail_manual.ta_proportion)) + final_ta_score = BigDecimal.new("#{@work.teaching_asistant_score}") * BigDecimal.new("#{@homework.homework_detail_manual.ta_proportion}") + final_s_score = BigDecimal.new("#{@work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{@homework.homework_detail_manual.ta_proportion}")) + final_score = final_ta_score + final_s_score + @work.final_score = format("%.2f",final_score.to_f) end end end