我正在尝试在我的模型中进行计算,但是我无法在逗号后得到两位数。
我尝试了不同的方法但是当我的结果应该是例如7.50或7.25时,我得到7或8。
如果你能告诉我问题出在哪里,那将是非常好的。感谢。
我的schema.rb
create_table "timesheets", force: true do |t|
t.time "working_start"
t.time "working_end"
t.decimal "billable_hours"
t.integer "weeknum"
t.date "date"
t.decimal "breaks"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
我的模特
class Timesheet < ActiveRecord::Base
## current week number
default_value_for :weeknum do
Time.now.strftime('%V')
end
## relation
belongs_to :user
## Worked hours
before_create :calculate_worked_hours
private
def calculate_worked_hours
#breacalculk = (breaks.to_i * 60)
#totalhours = (working_end.to_i - working_start.to_i) - (breaks.to_i * 60)
self.billable_hours = ((working_end.to_i - working_start.to_i) - (breaks.to_i * 60)) / 3600
end
end
答案 0 :(得分:1)
将/ 3600
更改为/ 3600.0
当分子和分母都是整数时,结果将是整数;因此5/2
会给2
。如果其中一个是浮点数,那么结果将是一个浮点数。例如:5.0/2
= 2.5