簡體   English   中英

在ROR中將字符串和整數的組合內的整數相乘

[英]multiply the integer within a combination of string and integer in ROR

例如,如果我們有一個類似的字符串:

duration = "2.days" 

我如何在“ 2.days”內將此2與3相乘並得到:“ 6.days”

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

2.days
# => 2 days

2.days * 3
# => 1036800

如果您要操縱字符串:

duration = "2.days"
p = duration.split('.')
[ p[0].to_i * 3, p[1] ].join('.')
# => "6.days"

如果您想將字符串乘以“ 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"

當您要以字符串開頭並生成字符串時,通常使用regex是最好的方法。

"2.days".sub(/\d+/){|s| s.to_i*3}
(duration.split('.').first.to_i * 3).to_s + '.days'
duration = "2.days" 
duration[0] = (duration[0].to_i * 3).to_s
p duration # => "6.days"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM