如何获得货币的parseFloat()?

时间:2014-04-25 15:19:50

标签: javascript jquery

我有一个表格元素:

<td class="commision_value">&pound; 40.89</td>

现在我想使用jquery获取此td的浮点值 所以我做了

alert(parseFloat($(".commision_value").text()));

但它返回NaN而不是40.89。

有人可以告诉我这个问题吗?

3 个答案:

答案 0 :(得分:1)

删除磅和其他任何非数字或.,

的内容
alert(parseFloat($("#test").text().replace(/[^\d.,]/g,'')));

答案 1 :(得分:1)

一个几乎可靠的解决方案是使用正则表达式来获取数字部分:

var value = parseFloat($(".commision_value").text().match(/[\d\.]+/)[0]);

但是根据上下文,特别是如果格式化可以改变(某些单位放在值之后,某些数字格式涉及空格等),在数据属性中添加值会更清晰:

<td class="commision_value" data-value="40.89">&pound; 40.89</td>

var value = $(".commision_value").data('value');

答案 2 :(得分:1)

更好的解决方案是在首次构建元素时将原始数字存储在属性中:

<td class="commision_value" data-value="40.89">&pound; 40.89</td>

然后,当你想阅读它时,没有必要解析英镑符号或其他任何东西

alert($(".commision_value").data('value'));