在ruby中将0800转换为8.00
如何在ruby中将在ruby中将0800转换为8.00,ruby,Ruby,如何在ruby中将0800转换为8.00小时?我一直在尝试在索引2和join处拆分,但无法执行此操作。如果您的输入始终是字符串(我认为必须是),您可以执行以下操作: time = "0830" sprintf("%.2f", time.to_f / 100) # => 8.30 input = "0800" input.insert(2, ":") 不知道你想要什么。如果您转换0830,您会得到8.30还是8.50?0800本身是无效标识符“0800”是有效的。@Amadan,我想要它
0800
转换为8.00小时
?我一直在尝试在索引2
和join
处拆分,但无法执行此操作。如果您的输入始终是字符串(我认为必须是),您可以执行以下操作:
time = "0830"
sprintf("%.2f", time.to_f / 100)
# => 8.30
input = "0800"
input.insert(2, ":")
不知道你想要什么。如果您转换0830
,您会得到8.30
还是8.50
?0800
本身是无效标识符“0800”
是有效的。@Amadan,我想要它8.30我喜欢它的简单性。它返回“08:00”
,而不是“8.00”
使用strftime('-H.%M hrs')
而不是附加'hrs'
@Stefan。现在好多了。谢谢:)
require 'time'
Time.strptime("0800", "%H%M").strftime("%-H.%M hrs")
# => "8.00 hrs"
Time.strptime("0830", "%H%M").strftime("%-H.%M hrs")
# => "8.30 hrs"