我正试图从这些div中获取数字,所以没有“$”或“/ BX”
<span class="SRPRef">$6.16/BX</span>
<div class="Price">$12.32</div>
我正在使用这个jQuery计算百分比,但我不知道如何只获取整数。
var PriceReftxt = $('.Price').text();
var SRPReftxt = $('.SRPRef').text();
// CONVERT TO DECIMAL
var PriceRef = parseInt(PriceReftxt).toFixed(2);
var SRPRef = parseInt(SRPReftxt).toFixed(2);
// DO LOGIC BASED MATH
var Increase = (SRPRef - PriceRef);
var PercentIncrease = ((Increase / PriceRef) * 100).toFixed(2);
// FIND EMPTY CELL, AND PUT % NUMBER IN
$('.SavingsPercent').text("Savings: " + PercentIncrease + "%");
答案 0 :(得分:1)
RegEx也许?
$('.Price').text().replace(/[^0-9]/gi, '');
var number = parseInt(Price, 10);
$('.SRPRef').text().replace(/[^0-9]/gi, '');
var number2 = parseInt(SRPRef, 10);
答案 1 :(得分:1)
您可以使用以下内容仅提取小数:
function extractNumber(string2extract){
var numberPattern = /[0-9]+(\.[0-9][0-9]?)?/g;
return string2extract.match(numberPattern);
}
var PriceReftxt = extractNumber($('.Price').text());
var SRPReftxt = extractNumber($('.SRPRef').text());
答案 2 :(得分:0)
你可以做的一件事是用空字符串替换它们("$"
和"/BX"
),如果它们存在,它们将有效地删除它们:
myString = myString.replace("$", "").replace("/BX", "");
例如,如果myString
的值为"$6.16/BX"
,则会"6.16"
。
或者你可以制作一个除去数字和句号之外的所有内容的函数。例如:
function getNumerFromString(str)
{
return str.replace(/[^0-9\.]/g,"");
}
console.log(getNumerFromString("$6.16/BX"))
console.log(getNumerFromString("$12.32"))
console.log(getNumerFromString("abc$1.00def"))
&#13;
答案 3 :(得分:0)
通常在尝试解析事物时,请使用regex。以您的标记类为例。如果你想真正做一些数学计算,只需parseInt
结果
// get our numbers
var res1 = $(".SRPRef").text().match(/\d*\.?\d+/);
var res2 = $(".Price").text().match(/\d*\.?\d+/);
// show our results
$(".result").html(res1 + "<br>" + res2);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="SRPRef">$6.16/BX</span>
<div class="Price">$12.32</div>
<h4>results:<h4>
<span class="result"></span>
&#13;