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

时间:2014-10-14 21:28:55

标签: javascript parsing 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。

我试图为这个问题找到一个优雅且特别短的解决方案。你能救我一下吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试更换&#34; - &#34;部分与&#34; 00&#34; - 只需在€,part。之前插入替换。

答案 1 :(得分:0)

试试这个:

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

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