如何在导轨中使用逗号后的两位数字?

时间:2015-02-15 05:03:26

标签: ruby-on-rails model calculated-field

我正在尝试在我的模型中进行计算,但是我无法在逗号后得到两位数。

我尝试了不同的方法但是当我的结果应该是例如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

1 个答案:

答案 0 :(得分:1)

/ 3600更改为/ 3600.0

当分子和分母都是整数时,结果将是整数;因此5/2会给2。如果其中一个是浮点数,那么结果将是一个浮点数。例如:5.0/2 = 2.5