我試圖在Google電子表格上運行腳本。以下是代碼片段:2.0在谷歌應用程序腳本中被識別爲20
var startRow = 2;
var data = dataRange.getValues();
for (i in data) {
sheet.getRange(startRow + i, 4).setValue("EMAIL_SENT");
}
我期望從第二行出現「EMAIL_SENT」。但是,從第20行開始出現。當我使用Logger寫出startRow時,它顯示爲2.0,而不是2.我猜測2.0被認爲是20,因爲我住在芬蘭,逗號而不是點被用作小數點。話雖如此,我的語言設置是用日語設置的,其中點用於小數點。所以,這種解釋是不合邏輯的,但這是我能想到的唯一解釋。當我使用
Math.round(startRow)
這也沒有幫助。有人可以提出解決方案嗎?謝謝!
代替'用於(i的數據)''嘗試爲(VAR I = 0; I
實際上你擁有的問題不是你的想法。 2.0是記錄器中整數的正常表示。實際的問題是,在你的代碼中,添加2 + 0會給出20而不是2,因爲腳本不能識別整數並且假定它們是字符串。桑迪的解決方案是避免這種問題的好方法。 –
其他人已經回答了這個問題,但只是增加了一個最佳實踐評論:不要將值添加到具有單個獲取範圍的工作表中......長期來說,setvalue是循環內的慢速模式。最好操作一個代表內存中整個範圍的單個數組,然後對該表單進行一次寫入。 – Jonathon