leo*_*nel 3 ruby ruby-on-rails
我有以下方法将持续时间(以秒为单位)转换为小时.例如,2个半小时将导致2.30另外,2小时和15分钟将导致2.15.因此它输出小时数和分钟数.
我想修改方法显示2.5或2.25而不是上面的方法.我需要这样做才能进行计算.例如,如果有30美元/小时的工资和员工工作10个半小时,我需要增加30*10.5而不是30*10.30.
def hour_quantity
unless self.duration.blank?
hours = (self.duration/60)/60
minutes = (self.duration/60) % 60
hours.to_s + '.' + minutes.to_s
end
end
Run Code Online (Sandbox Code Playgroud)
像往常一样,乔恩是正确的.只需使用浮点除法:
def hour_quantity
duration / 3600.0
end
Run Code Online (Sandbox Code Playgroud)
显示时,您可能想要舍入:
puts '%.2f' % hour_quantity
Run Code Online (Sandbox Code Playgroud)
这将给你2个小数位,总是(例如"2.00","2.25","2.50").或者:
puts '%g' % hour_quantity
puts '%g' % 2.0 #=> "2"
puts '%g' % 2.25 #=> "2.25"
puts '%g' % 2.4999999 #=> "2.5"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1267 次 |
| 最近记录: |