我需要从字符串中获取货币。我的价格可以有多种格式。我们以CAD与美元为例。 CAD将以这种方式格式化:
5.00 $ CAD
虽然美元将以这种方式格式化
$ 5.00 USD
该系统还支持欧元和英镑。显然价格可能在数千美元。
这是我不成功的尝试:
result = /^([^\$]+)\$/i.exec(price.text());
答案 0 :(得分:1)
但是如果列只包含带有amnount和货币指示符的字符串,那么[\d.,]+
应该得到数字(以及任何尾随或引导逗号或句点) - 这对你有用吗?
答案 1 :(得分:1)
答案 2 :(得分:0)
Money 通常表示为[int
,currency
]元组。我的目标是这样的格式。
你的字符串似乎有一点点绒毛。一个$
。
那怎么样:
var db_string = "5.00$ CAD"; // or "$5.00 USD" or "€5.00 EUR"
var clean = db_string.replace(/[0-9A-Z ]/g, ""); // removes $ . and euro etc.
var parts = clean.split(" ");
var num = parseInt(parts[0], 10); // amount as int, in cents
var cur = parts[1]; // currency: USD, CAD, EUR etc.