Ruby将字符串转换为十进制

Ton*_*shi 3 ruby regex

我如何转换"$ 10.80"为十进制?使用正则表达式?

tho*_*ron 6

它可能不是最好的方法,但这是有效的:

"$ 10.80".match(/[0-9|\.]+/)[0].to_f
Run Code Online (Sandbox Code Playgroud)


Jan*_*Jan 6

s = "$ 10.80"
BigDecimal.new s.match(/(\d+\.\d+)/)[1]
Run Code Online (Sandbox Code Playgroud)

BigDecimal的形式返回值以保持精度.