Javascript 新的google电子表格脚本函数setvalue将所有内容设置为字符串
我昨天有一个问题。我决定将其中一个电子表格转移到新的谷歌电子表格,但这才开始成为问题 在旧的谷歌电子表格中,一切正常:Javascript 新的google电子表格脚本函数setvalue将所有内容设置为字符串,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我昨天有一个问题。我决定将其中一个电子表格转移到新的谷歌电子表格,但这才开始成为问题 在旧的谷歌电子表格中,一切正常: var sh = SpreadsheetApp.getActiveSpreadsheet(); sh.getSheets()[0].getRange("A1").setValue(1);` 它应该将值设置为“1”,但它始终将其设置为字符串“1.00000000000000” 为了确保它是我使用的字符串getSheetValues,不幸的是它证实了我的理论(它在脚本编辑器中将类
var sh = SpreadsheetApp.getActiveSpreadsheet();
sh.getSheets()[0].getRange("A1").setValue(1);`
它应该将值设置为“1”,但它始终将其设置为字符串“1.00000000000000”
为了确保它是我使用的字符串getSheetValues
,不幸的是它证实了我的理论(它在脚本编辑器中将类型显示为“string”)。
当我手动在电子表格中键入数字时,函数getSheetValues
返回整数
我用setValue(parseInt(1))
或setValue(Number(1))
尝试过setValue
这是Google Apps脚本中的错误还是我的想法中有一些错误?当我在新的电子表格(新版本)中运行此函数时,我会得到下面的日志结果
function test(){
var sh = SpreadsheetApp.getActiveSpreadsheet();
sh.getSheets()[0].getRange("C1").setValue(1);
Logger.log( typeof(sh.getSheets()[0].getRange("C1").getValue()));
}
但是如果我将单元格中的格式设置为“纯文本”,那么显然我会得到一个字符串……我想没有什么异常
编辑这似乎只有在电子表格设置为“我们”时才起作用,我尝试了其他格式并得到了奇怪的结果…请参见下面的评论
您好,当区域设置为我们时,它似乎起作用,但让我们将其更改为其他,我们有:-波兰-1.00000000000000,-德国-100.000.000.000发生了什么?问题的解决方法是使用setFormula函数,如
setFormula(=1”)
你说得对……这是一个严重的错误……1000000000000是一个数字,但与1稍有不同:-D你应该将其发布在问题trackerIt已经发布了,因此我加入了该问题