使用、和解析价格--使用parseFloat()解析异常



我试图解析html文档的价格:

以下是HTML元素的样子:

<div>
<span id="market_buynow_dialog_totals_total"  class="market_dialog_totals_cost">0,11€</span>
<span class="market_dialog_totals_label">Total:</span>
</div>

有一个,,我不想被限制在,的左侧或右侧,在上面的例子中,我希望得到int 11,对于399,99,我希望获得39999。

这是我目前的解决方案:

var currentPrice = parseFloat(document.getElementById("market_buynow_dialog_totals_total").innerHTML.replace(/[,€]/g, ""));

然而,有一个例外打破了我的小解决方案:价格有时也可能是300,或者250。在这种情况下,currentPrice是300或250,而不是期望的30000或25000。

我正试图为这个问题找到一个优雅而又特别简短的解决方案。你能帮我吗?

试试这个:

var currentPrice = parseFloat(document.getElementById("market_buynow_dialog_totals_total").innerHTML.replace(/[,€]/g, "").replace(/D/g,'0'));

这将把任何剩余的非整数转换为0。

您可以尝试将"--"部分替换为"00"-只需在€部分之前插入替换即可。

最新更新