我正在捕获页面对象“$ 100.99”作为字符串。有没有办法将它转换为浮点数或BigDecimal为“100.99”?
我尝试了xyz.scan(/\d+/).join().to_i
但删除了小数。
答案 0 :(得分:4)
从字符串中删除to_f
后,您可以使用$
方法:
'$100.99'.delete('$').to_f
# => 100.99
BigDecimal
相同:
require 'bigdecimal'
BigDecimal.new('$100.99'.delete('$'))
# => 100.99
答案 1 :(得分:1)
您可以使用$
作为分隔符
s = "$100.99"
s.split('$')[1].to_f # 100.99
答案 2 :(得分:1)
更多方式
2.1.3 :001 > s = "$100.99"
=> "$100.99"
2.1.3 :002 > s.sub('$','').to_f
=> 100.99
2.1.3 :003 > s.gsub('$','').to_f
=> 100.99
2.1.3 :001 > s = "$100.99"
=> "$100.99"
2.1.3 :002 > s.slice! '$'
=> "$"
2.1.3 :003 > p s
"100.99"
=> "100.99"
2.1.3 :011 > s = "$100.99"
=> "$100.99"
2.1.3 :012 > s.tr('$','')
=> "100.99"