我有一堆使用jQuery从html中提取的字符串。
它们看起来像这样:
var productBeforePrice = "DKK 399,95";
var productCurrentPrice = "DKK 299,95";为了计算差价,我需要提取数值。
(所以我最终选择了≈
var productPriceDiff = DKK 100";或者只是:
var productPriceDiff = 100";)
有人能帮我吗?
谢谢,雅各布
发布于 2009-06-12 16:04:41
首先,您需要将输入价格从字符串转换为数字。然后减去。你必须将结果转换回"DKK ###,##“格式。这两个函数应该会有所帮助。
var priceAsFloat = function (price) {
return parseFloat(price.replace(/\./g, '').replace(/,/g,'.').replace(/[^\d\.]/g,''));
}
var formatPrice = function (price) {
return 'DKK ' + price.toString().replace(/\./g,',');
}然后你可以这样做:
var productBeforePrice = "DKK 399,95";
var productCurrentPrice = "DKK 299,95";
productPriceDiff = formatPrice(priceAsFloat(productBeforePrice) - priceAsFloat(productCurrentPrice));发布于 2009-06-12 15:47:23
尝试:
var productCurrentPrice = productBeforePrice.replace(/[^\d.,]+/,'');编辑:这将获得包含数字、逗号和句点的价格。它不会验证数字格式是否正确,也不会验证数字、句点等是否连续。如果你能更精确地定义你所期望的数字,那将会有所帮助。
发布于 2009-06-12 15:51:48
再试一试:
var productCurrentPrice = productBeforePrice.match(/\d+(,\d+)?/)[0];https://stackoverflow.com/questions/987382
复制相似问题