如何使分钟可变两位数?
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]}"
添加零并获取结果的最后两个字符。
即使为 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]}"
添加零并获取结果的最后两个字符。