我需要将一个简单的“3.days”字符串转换为在屏幕上打印“3 days”的内容,该字符串将根据语言使用适当的语言环境来打印单词。
我想在 Rails 上可能有一种我似乎找不到的简单方法。
我需要将一个简单的“3.days”字符串转换为在屏幕上打印“3 days”的内容,该字符串将根据语言使用适当的语言环境来打印单词。
我想在 Rails 上可能有一种我似乎找不到的简单方法。
调用inspect
结果。它已被覆盖以返回字符串"3 days"
:
Loading development environment (Rails 3.2.6)
irb(main):001:0> 3.days.inspect
=> "3 days"
在幕后,3.days
只是返回该时间段内的秒数:
irb(main):001:0> puts 3.days
259200
3
如果您要存储该整数值,则可以通过将数字除以一天中的秒数来回到您的起点:
num_days = 3.days / 1.day
puts "#{num_days} days" # 3 days
如果您将输入作为字符串并且输出也需要是字符串,则一种解决方案是使用 gsub 替换 '.' 和 ' '
1.9.3p194 :004 > '3.days'.gsub('.', ' ')
=> "3 days"