在轨道上转1.5k到整数红宝石

时间:2014-06-05 00:07:08

标签: ruby-on-rails ruby ruby-on-rails-4

如何使用ruby或rails将"1.5k"转换为1500"1,766"转换为"1766"

谢谢!

2 个答案:

答案 0 :(得分:3)

你可以使用ruby而不用rails。

n = "1,200.5k"
n = n.to_s.gsub(/,+/, '')
n = (n[-1] == 'k' ? n[0...-1].to_f * 1000 : n).to_i
puts n

答案 1 :(得分:2)

对于“1.5k”的情况,您可以编写一个快速方法,如果.to_i()失败,则查找k作为最后一个字符。您可以通过num_str[-1, 1]获取最后一个字符,其中num_str是原始字符串。

对于另一种情况,我建议查看money gem。 num = Money.parse("1,766")

相关问题