如何使用ruby或rails将"1.5k"
转换为1500
或"1,766"
转换为"1766"
?
谢谢!
答案 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")
。