尝试在表格中移动数字并进行一些计算。数字var asrev在它之前有一个$符号,表中的所有数字都有小数。以下是我试图让它发挥作用的方式。
You can set a SynchronizingObject, then the events will be called on the specific context
最后,它获得fbspend作为整数而没有小数,而对于asrev和利润我得到NaN
答案 0 :(得分:0)
您需要使用parseFloat()
代替parseInt()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
答案 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
不是数字 - 它包含“$”符号;你试图对一个字符串和一个整数进行数学运算并得到一个浮点数 - 这不会起作用。