2017-01-28 9 views
0

をろ過合計を計算するために私の試みです:Googleシートのカスタム関数で値を操作するにはどうすればよいですか?ここ

function computeBalance(account, from, to, amounts) { 
    var balance = 0 

    from.forEach(function (name, index) { 
    if (name == account) balance - toCents(amounts[index].toString()) 
    }) 

    to.forEach(function (name, index) { 
    if (name == account) balance + toCents(amounts[index].toString()) 
    }) 

    return balance 
} 


// Some money helpers 

function toCents (dollarString) { 
    return +dollarString.replace(/[\$\,\.]/g, '') 
} 

function toDollars(cents) { 
    return (cents/100) 
} 

ので、問題はのtoString()関数です。金額配列から返されるGoogle Sheetsオブジェクトに偶然存在します。私は実際に値そのものを得る方法、つまりセントに変換できるドルストリングを考えていないので、私は数学をすることができます。

アイデア?

答えて

-1

独自の "toString"メソッドを作成するか、項目に引用符を追加してみてください。だからそれはだろう

(amount[index] + "") 
+0

それは私が現在持っているものと同じ結果を生成します。 – Costa

+0

まあ、あなたはそれらをintにする手続きを持っているので、文字列として配列に入れることができますか?または、これを今見ていると、文字列に変換してからintからそれらを減算している可能性があります。たぶんそれは(バランス+/-金額[i])。toStringを読んでください。また、あなたはそれが文字列になっていることを確認しています、あなたはちょうどそれがダブルまたはintを取るためにそれを変更しないでセントをメソッドに文字列を置くためにこれをやっているように見えますか? – Finn

+0

問題の1つは、このためのデバッグツールがかなり悪いことです。私ができることは、Googleシートセルが値を操作した後に私がカスタム関数から返すものを見ることだけです。私はコンソールなどにログオンできません。これは本当に面倒です。 – Costa

関連する問題