我在html中有以下标记我不希望取得$,因为我只想要计算价格。
<span id="testspan">$101.82</span>
在上面的span标签中,我想只计算101.82的值。
我使用html()来获取值
var csqft_price = $('#testspan').html();
var price= parseFloat(csqft_price);
但我用$得到它所以我无法做计算我该怎么做。
答案 0 :(得分:14)
您可以使用
var csqft_price = $('#testspan').html();
var number = Number(csqft_price.replace(/[^0-9\.]+/g, ""));
这已在SO here上发布。
答案 1 :(得分:3)
以下测试第一个字符是否为美元符号,如果是,则使用其余字符串:
var csqft_price = $('#testspan').html();
var price = +(csqft_price.charAt(0)==="$" ? csqft_price.substr(1) : csqft_price);
当然,如果您知道总是是美元符号,您可以这样做:
var price = +csqft_price.substr(1);
注意:我通常更喜欢unary plus operator将字符串转换为数字,因此我在上面的答案中使用了 - 如果您愿意,可以将+(...)
更改为parseFloat(...)
答案 2 :(得分:1)
我会将所有非数字和点替换为no,而不是替换为parseFloat:
var textValue = '$101.82';
var floatedValue = parseFloat(textValue.replace(/[^\d\.]/, ''));
alert(floatedValue);
答案 3 :(得分:0)
尝试使用javascript“replace”函数替换$符号,并将$符号替换为空值,如下所示:
var vsqft_price = $('#testspan').html();
var vsqft_float = vsqft_price.replace("$", "");
var price= parseFloat(csqft_float);
答案 4 :(得分:0)
试试这个 -
var csqft_price = $('#testspan').text();
var s = csqft_price.substr(1);
alert(s);
答案 5 :(得分:0)
使用此
var csqft_price = $('#testspan').html();
var price=parseFloat(csqft_price.replace('$',''));
alert(price);
并使用价格进行计算。
答案 6 :(得分:0)
ku4js-kernel有一个甜蜜的$ .money类。你可以只需$ .money.parse(&#34; $ 101.82&#34;)然后做你想做的事。
你可以获得价值()并使用数字甚至更好,只需保留金钱并进行操作。您可以查看文档here。