Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ruby中将0800转换为8.00_Ruby - Fatal编程技术网

在ruby中将0800转换为8.00

在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,我想要它

如何在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,我想要它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"