2

例如,如果我们有一个像这样的字符串:

duration = "2.days" 

如何在“2.days”内将此 2 乘以 3 并得到:“6.days”

4

5 回答 5

3

如果您打算使用辅助方法:

2.days
# => 2 days

2.days * 3
# => 1036800

如果您要操作字符串:

duration = "2.days"
p = duration.split('.')
[ p[0].to_i * 3, p[1] ].join('.')
# => "6.days"
于 2013-06-27T08:03:49.813 回答
2

如果您想将“5.months 2.days 3.minutes”之类的字符串相乘,则以下代码很有用

"5.months 2.days 3.minutes".gsub(/\d+/){|s| s.to_i*3}
=> "15.months 6.days 9.minutes"
于 2013-06-28T06:25:05.057 回答
1

当您想以字符串开头并生成字符串时,正则表达式通常是最好的方法。

"2.days".sub(/\d+/){|s| s.to_i*3}
于 2013-06-27T08:26:11.213 回答
0
duration = "2.days" 
duration[0] = (duration[0].to_i * 3).to_s
p duration # => "6.days"
于 2013-06-27T08:21:43.917 回答
0
(duration.split('.').first.to_i * 3).to_s + '.days'
于 2013-06-27T08:02:44.917 回答