jQuery拉取不带美元符号的货币
我有一个标签,上面有价格(即150美元)。我想使用jQuery只提取不带美元符号($)的文本值jQuery拉取不带美元符号的货币,jquery,regex,replace,Jquery,Regex,Replace,我有一个标签,上面有价格(即150美元)。我想使用jQuery只提取不带美元符号($)的文本值 $150.00 我想将上述内容输出为150.00您可以使用空字符串替换$字符: var price = $("div").text().replace("$", ""); 注意,在你的确切例子(有间隔)的情况下,空白区域不会被移除。如果您继续使用字符串作为数字(例如,通过parseFloat),这无关紧要,但如果您想在其他地方将其作为文本使用,则可能需要使用jQuery删除空白 更新-基于评论
$150.00
我想将上述内容输出为150.00
您可以使用空字符串替换$
字符:
var price = $("div").text().replace("$", "");
注意,在你的确切例子(有间隔)的情况下,空白区域不会被移除。如果您继续使用字符串作为数字(例如,通过
parseFloat
),这无关紧要,但如果您想在其他地方将其作为文本使用,则可能需要使用jQuery删除空白
更新-基于评论
replace
返回一个字符串。一旦有了该字符串,就可以使用parseFloat
(或parseInt
)将其解析为一个数字,但您使用的是浮点数):
var convertedToNumber=parseFloat(价格)代码>
现在您已经有了一个数字,可以对其执行数学运算:
var百分比=convertedToNumber*0.95
将$('div').text().replace('$','')代码>实现您的目的?使用replace更好,但我建议您可以从字符串中删除任何货币符号,如
$ 150.00
Fr. 150.00
€ 689.00
我已经测试了以上三种货币符号。你也可以为其他货币符号测试
var price = $("div").text().replace(/[^\d\.]/g, '');
上面的正则表达式将删除所有不是数字或句点的内容。因此,您可以获得不带货币符号的字符串,但如果是“Fr.150.00”,则如果您使用控制台进行输出,那么您将获得价格作为
console.log('price : '+price);
output = price : .150.00
这是错误的,所以你要检查“.”的索引,然后将其拆分,得到正确的结果
if (price.indexOf('.') == 0) {
price = parseFloat(price.split('.')[1]);
}else{
price = parseFloat(price);
}
这是可行的,但现在我需要修改我的问题,因为我正试图将这个数字乘以.95,并发出测试警报,即,var thePrice=$(“div”).text()。替换(“$”,”);风险值为百分之五=$((价格)*.95);警报(百分之五)代码>不确定您试图在那里做什么,但是您正在将字符串包装到jQuery对象中,然后尝试将该对象乘以0.95。使用parseFloat
将字符串解析为数字,不要将其放入jQuery对象中!我试图显示一个折扣价格的基础上,一个div与当前的价格在它。这是完美的工作!还有一个..有什么方法可以使它在显示时只显示数字后2位小数?您可以使用toFixed
方法:
if (price.indexOf('.') == 0) {
price = parseFloat(price.split('.')[1]);
}else{
price = parseFloat(price);
}