从tablecell获取一个带小数的数字

时间:2017-01-06 15:02:29

标签: javascript jquery

尝试在表格中移动数字并进行一些计算。数字var asrev在它之前有一个$符号,表中的所有数字都有小数。以下是我试图让它发挥作用的方式。

You can set a SynchronizingObject, then the events will be called on the specific context

最后,它获得fbspend作为整数而没有小数,而对于asrev和利润我得到NaN

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

不知道你的HTML结构,但如果你在数字之前有$符号,你应该这样做:

  var asrev = parseFloat($('tr').eq(0).find("td:nth-child(1)").html());
           var data = $('tr').eq(0).find("td:nth-child(1)").html();
          console.log(asrev);
          console.log(parseFloat(data.replace('$',''))); // this is what you need
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="data">

  <tr>
    <td>$66.66</td>
    <td>Entry First Line 2</td>
    <td>Entry First Line 3</td>
    <td>Entry First Line 4</td>
  </tr>

</table>

因此,首先删除$ sign,这不会产生所需的结果,要么使用parseInt,要么使用parseFloat,并获得所需的值。

答案 2 :(得分:0)

您需要使用parseFloat,但首先从字符串中删除$。

var asrev = parseFloat(elementsasrev.eq(1).find("td:nth-child(6)").html().replace('$','');
...
var fbspend = parseFloat($(this).find("td:nth-child(7)").html() );
...
var profit = asrev - fbspend;

你得到了NaN,因为asrev不是数字 - 它包含“$”符号;你试图对一个字符串和一个整数进行数学运算并得到一个浮点数 - 这不会起作用。