如何使分钟可变两位数?

How can I make the minutes variable two digits?

即使为 min_side 变量分配了一位数字的答案,我也试图让会议记录显示两位数字。这可能是一个简单的答案,但我似乎无法让它发挥作用。

def time_conversion(minutes)
hour = minutes/60
min_side = minutes%60
min_side = %02d

time = "#{hour}:#{min_side}"

return time
end

puts time_conversion(360)

您可以使用 sprintf:

def time_conversion(minutes)
  hour = minutes / 60
  min_side = minutes % 60

  sprintf("%d:%02d", hour, min_side)
end

你可以这样做:

 def time_conversion(minutes)
   "%d:%02d" % minutes.divmod(60)
 end

 puts time_conversion(360)
   #=> "6:00"

您可以使用 rjust 添加零

minutes.to_s.rjust(2, '0')
def time_conversion(minutes)
    hour = minutes/60
    min_side = minutes%60

    "#{hour}:#{min_side < 10 ? "0#{min_side}" : min_side}"
end

顺便说一句,最后一行的后半部分不是评论。此处的代码格式无法识别的嵌套字符串插值

低可读性,就地 perl'ish 方式:)

time = "#{hour}:#{"0#{min_side}"[-2,2]}"

添加零并获取结果的最后两个字符。