2016-12-12 8 views
0

テーブルのすべてを合計し、合計で新しいラインを追加するスクリプトがあります。テーブルとラウンドの合計から5の倍数へ5

は今、私はこのコードを持っている:

var tds = document.getElementById('count2').getElementsByTagName('td'); 
var sum = 0; 
for(var i = 0; i < tds.length; i ++) { 
    if(tds[i].className == 'count-me') { 
     sum += isNaN(tds[i].innerHTML) ? 0 : parseInt(tds[i].innerHTML); 
    } 
} 

function roundUpToAny($n,$x=5) { 
    return (ceil($n)%$x === 0) ? ceil($n) : round(($n+$x/2)/$x)*$x; 
} 

document.getElementById('count2').innerHTML += '<tr class="sum"><td colspan="2" style="background:#fff;">Wypłacono, podpis:</td><td colspan="4" style="background:#fff;"></td><td>Łącznie</td><td class="count2">' + sum + '</td></tr>'; 

私は機能roundUpToAny()でこれ'+ sum +'を組み合わせることができますどのように?私は'+ sum +''roundUpToAny(sum)'に変更しようとしましたが、これは動作しません。

+0

「+ roundUpToAny(sum)+」「 –

+0

はい、この行の表は表示されません – Dawid

+0

コンソールにエラーが表示されますか? – 31piy

答えて

0

問題は以下のとおりです。

function roundUpToAny($n,$x=5) { 
    return (ceil($n)%$x === 0) ? ceil($n) : round(($n+$x/2)/$x)*$x; 
} 

あなたは数学の関数をオブジェクトの呼び出しが、数学なしている

あなたは Math.ceilceilroundを変更する必要があるオブジェクトと Math.round

機能は、この

function roundUpToAny($n,$x=5) { 
 
    return (Math.ceil($n)%$x === 0) ? Math.ceil($n) : Math.round(($n+$x/2)/$x)*$x; 
 
} 
 

 
console.log(roundUpToAny(12)); 
 
console.log(roundUpToAny(9)); 
 
console.log(roundUpToAny(10));
のようになります。

+0

それは素晴らしい作品! – Dawid

0

代わりにMath.round()を使用できます。

.toFixed()関数では、コンマの後にいくつの値を指定できるかを指定できます。 たとえば、0.23.toFixed(1) === "0.2"の場合、結果は文字列です。注意してください。

関連する問題