我需要将一个简单的“3.days”字符串转换为在屏幕上打印“3天”的字符串,该字符串将根据语言使用适当的区域设置来打印该字词。
我想在Rails上执行此操作可能很简单,我似乎无法找到。
答案 0 :(得分:8)
在结果上调用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
答案 1 :(得分:1)
如果您将输入作为字符串并且输出也需要是字符串,则一种解决方案是使用gsub替换“。”用''
1.9.3p194 :004 > '3.days'.gsub('.', ' ')
=> "3 days"