gpt4 book ai didi

ruby-on-rails - 将秒数转换为小数小时(半小时为 0.50 而不是 30)

转载 作者:数据小太阳 更新时间:2023-10-29 07:50:42 27 4
gpt4 key购买 nike

我有以下方法可以将以秒为单位的持续时间转换为小时。例如,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

最佳答案

Jon 和往常一样是正确的。只需使用浮点除法:

def hour_quantity
duration / 3600.0
end

显示时,您可能希望舍入:

puts '%.2f' % hour_quantity

这将始终为您提供 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"

关于ruby-on-rails - 将秒数转换为小数小时(半小时为 0.50 而不是 30),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10358455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com