我有一个表格元素:
<td class="commision_value">£ 40.89</td>
现在我想使用jquery获取此td的浮点值 所以我做了
alert(parseFloat($(".commision_value").text()));
但它返回NaN而不是40.89。
有人可以告诉我这个问题吗?
答案 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">£ 40.89</td>
var value = $(".commision_value").data('value');
答案 2 :(得分:1)
更好的解决方案是在首次构建元素时将原始数字存储在属性中:
<td class="commision_value" data-value="40.89">£ 40.89</td>
然后,当你想阅读它时,没有必要解析英镑符号或其他任何东西
alert($(".commision_value").data('value'));