每次从Google表单自动插入新数据时,我都会尝试生成参考号。 我想生成格式为TMS180001,直到最大可能的参考编号为TMS189999。我无法想象如何将值/字符串格式化为0001而不是1,当我在下面运行代码时没有发生任何事情。
function onFormSubmit(e) {
var Time = e.values [0]; //column 1 timestamp
var TMSrefnum = [10]; //column 1 till 9 are other information while
//column 10 is the reference number
if (Time = true); //if timestamp has value then add reference
//number to column 11
var i = 1 ; i < 9999 ; i++;
TMSrefnum = "TMS18" + toString(i);
}
答案 0 :(得分:0)
查看问题How to output integers with leading zeros in JavaScript的答案。
您需要在onFormSubmit()
函数之外创建一个额外的函数(或包含Polyfill)。
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
然后你会打电话给
TMSrefnum = "TMS18" + pad(currentEntryNumber, 4);
答案 1 :(得分:0)
对于零填充,请使用您自己的功能,例如
Number.prototype.pad = function(size) {
var s = String(this);
while (s.length < (size || 2)) {s = "0" + s;}
return s;
}
(9).pad(); //returns "09"
(7).pad(3); //returns "007"
这将允许您在脚本中的任何.pad()
上执行Number
方法。
或者编写一个看起来像这样的方法:
function pad(num, size) {
var s = "000000000" + num;
return s.substr(s.length-size);
}
pad(98); // returns "000000098"
答案 2 :(得分:0)
我设法从下面的代码中产生了参考号。
var sheet1 = ss.getSheets()[0];
function pad(num, size) {
var s = num + "";
while (s.length < size) s = "0" + s;
return s;
}
var valuerange = sheet1.getRange("A1:A").getValues();
var lastrownumber = valuerange.filter(String).length-1;
var TMSNUM = "TMS18" + pad(lastrownumber, 4);