0

数字を正しく収集して別のテーブルに入れるにはどうすればよいですか

これを実験しましたが、正しく収集されませんでした

   <script>

   // A
   $(function() {

var nums=[];
var tot=0;

 $(' .vis ').each(function(i){
var numTxt = $('.vis:eq('+i+') tr > td:eq(1)').text().match(/\d+/g)[0];

var num = (parseInt(numTxt ,10));
   nums.push(numTxt);
   tot+=num

});

  $("#ABS #A").html(tot); 


});

// B
   $(function() {

var nums=[];
var tot=0;

 $(' .vis ').each(function(i){
var numTxt = $('.vis:eq('+i+') tr > td:eq(1)').text().match(/\d+/g)[1];

var num = (parseInt(numTxt ,10));
   nums.push(numTxt);
   tot+=num

});

  $("#ABS #B").html(tot); 

});

//C
   $(function() {

var nums=[];
var tot=0;

 $(' .vis ').each(function(i){
var numTxt = $('.vis:eq('+i+') tr > td:eq(1)').text().match(/\d+/g)[2];

var num = (parseInt(numTxt ,10));
   nums.push(numTxt);
   tot+=num

});

  $("#ABS #C").html(tot); 

});

   </script>

体 ...

<body>
<table border='2'>
<tr>
<td>
<table class='vis' border='2'>
<tr>
<td>ABC</td>
<td>
<span class='a'></span>
88
<span class='dd'>.</span>
332&nbsp;
<span class='d'></span>
30
<span class='dd'>.</span>
665&nbsp;
<span class='f'></span>
20
<span class='dd'>.</span>
453 &nbsp;|&nbsp;44432/44432
</td>
</tr>
</table>
</td>
</tr>

<tr>
<td>
<table class='vis' border='2'>
<tr>
<td>ABC</td>
<td>
<span class='a'></span>
822
<span class='b'></span>
303
<span class='c'></span>
20&nbsp;|&nbsp;44432/44432
</td>
</tr>
</table>

</td>
</tr>

<tr>
<td>
<table class='vis' border='2'>
<tr>
<td>ABC</td>
<td>
<span class='a'></span>
88
<span class='dd'>.</span>
332&nbsp;
<span class='b'></span>
30
<span class='dd'>.</span>
665&nbsp;
<span class='c'></span>
20
<span class='dd'>.</span>
453 &nbsp;|&nbsp;44432/44432
</td>
</tr>
</table>
</td>
</tr>


<tr>
<td>
<table class='vis' border='2'>
<tr>
<td>ABC</td>
<td>
<span class='a'></span>
88
<span class='dd'>.</span>
332&nbsp;
<span class='b'></span>
30
<span class='dd'>.</span>
665&nbsp;
<span class='c'></span>
20
<span class='dd'>.</span>
453 &nbsp;|&nbsp;44432/44432
</td>
</tr>
</table>

</td>
</tr>


<tr>
<td>
<table class='vis' border='2'>
<tr>
<td>ABC</td>
<td>
<span class='a'></span>
555
<span class='b'></span>
220
<span class='c'></span>
110&nbsp;|&nbsp;44432/44432
</td>
</tr>
</table>

</td>
</tr>



</table>

<br /><br />
<table id='ABS' border='2' width="200px">
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>

<tr>
<td id='A'>0</td>
<td id='B'>0</td>
<td id='C'>0</td>
</tr>

</table>
</body>

http://jsfiddle.net/Mqat4/2/

でも私はしたい

88.334 + 822 + 88.332 + 88.332 + 555 = 1531.666

そして、ここに合計数を入れます

$("#ABS #A").html(tot);

そして..  
30.665 + 303 + 30.665 + 30.665 + 220 = 584.33

$("#ABS #B").html(tot);

と..

20.453 + 20 + 20.453 + 20.453 + 110 = 191.359

$("#ABS #C").html(tot);

これだけ欲しい (1531.666)

と (584.33)

と (191.359)

私はこれが欲しい、どうやって??!!

http://www10.0zz0.com/2012/11/25/14/351410283.jpg

4

1 に答える 1

0

数字のみを取得し、整数として解析しています。ピリオドとその後の数字を取得し、ピリオドの周りのスペースを削除して、浮動小数点数として解析する必要があります。

var numTxt = $('.vis:eq('+i+') tr > td:eq(1)').text().replace(/ \. /g, '.').match(/[\d.]+/g)[0];

var num = parseFloat(numTxt);
于 2012-11-25T12:38:42.707 に答える