如何从字符串Ruby中解析复杂的货币值

时间:2015-05-23 00:29:24

标签: ruby regex parsing

我必须解析一系列复杂的货币价值字符串。还有一些独特的案例需要加以考虑。

以下是其中一些(左:字符串解析,右:所需的返回值):

"$1,950,000"          #=> "1950000
"$750,000"            #=> "750000"
"$1,433,000[2]"       #=> "1433000"
"$1.3 million"        #=> "1300000"
"$2.183 million[4]"   #=> "2183000"
"US$1,644,736 (est.)" #=> "1644736"

我可以拆分字符串,然后对每个特殊情况使用条件语句逻辑,但我想知道是否还有更多"抽象"解析这些字符串的方法。

更新

我检查了this question,其中有一些很好的解释,但是"百万"部分未命中。如果字符串是" 120万美元"我知道"。"我需要总共6位数(或者在这种情况下是字符串数字),因此将添加4个零。如果我有#218; $ 218.3万"我知道我需要添加3个零,以便在"之后总共有6个数字。"

1 个答案:

答案 0 :(得分:1)

只需提取像<iframe width="502" height="282" src="https://www.youtube.com/embed/x9B2FmRR9ds?rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe> <br /> <input type="range" id="time-slider" value="0" style="width: 500px" />

这样的单位
{{1}}

打印

{{1}}