gpt4 book ai didi

google-apps-script - 电子表格中的 Google Apps 脚本在项目属性中存储十进制值而不是整数

转载 作者:行者123 更新时间:2023-12-02 08:51:28 28 4
gpt4 key购买 nike

这是我的第一篇文章。我尝试通过 Google 和此网站进行搜索,但实际上找不到任何有关在这种情况下在 GAS 中进行类型转换或转换数值的信息。那么问题来了:

我在 Google 电子表格上附加了一个非常基本的脚本。该脚本只是跟踪填充的最后一行,将值加一,以便可以填充下一行。我将“使用的最后一行”存储为项目属性。由于某种原因,脚本不断将值作为十进制值写回到项目属性中,这会导致整个脚本失效,因为我似乎无法使用十进制值来引用单元格位置。

这是代码片段:

function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var value = ss.getSheetByName("Sheet1").getRange("D13").getValue().toString();
var last = ScriptProperties.getProperty("last");

var therowx = parseInt(ScriptProperties.getProperty("therow"));
Browser.msgBox("The last row is: " + therowx);

if( value != last ) {
ScriptProperties.setProperty("last", value);
ScriptProperties.setProperty("therow", therowx + 1);
}
}

假设我在运行脚本之前将属性预先设置为 1,一旦此方法触发,它会将其设置为 2.0 而不是 2。我尝试使用 Number() 和 parseInt 包装方法调用() 函数,但它们似乎没有什么区别。

我愿意接受建议,因为我确信我做错了什么,但不太确定是什么。

最佳答案

您似乎正在使用电子表格中的值 var value = ss.getSheetByName("Sheet1").getRange("D13").getValue().toString();
这是您得到的小数点,因为 Google 电子表格默认保留一位小数。您需要突出显示该列或单元格并将格式更改为“数字”>“四舍五入”以摆脱它。
我确信我在这里缺少完整脚本的一些组件,但是您尝试过“getLastRow”功能吗?教程中的一些脚本使用它,它是一种经过验证且真实的查找工作表最后一行的方法。

关于google-apps-script - 电子表格中的 Google Apps 脚本在项目属性中存储十进制值而不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12731949/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com