Создание 20 - 16-значных чисел.Отформатируйте их.Затем переместите столбец
. Я никогда раньше не использовал команду sheet.moveColumn ().Я нашел это довольно интересным.В любом случае, эта функция генерирует всего 20 16-значных чисел в A1: A20 и перемещает их в столбец F. Интересно, что они заканчиваются в столбце E, поскольку также удаляет столбец A.Я использовал функцию generateString (), которую я написал ранее, для генерации шестнадцатизначных чисел.
function formatThenMove() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getRange(1,1,20,1);//A1:A20
var vA=rg.getValues();
var fA=rg.getNumberFormats();
for(var i=0;i<vA.length;i++) {
vA[i][0]=generateString();//setup for 16 digits
fA[i][0]="@";//here's the format for raw text
}
rg.setValues(vA);//set values
rg.setNumberFormats(fA);//set formats
sh.moveColumns(rg, 6);//move to column F
}
function generateString(sObj){
var sObj=sObj || {uppercase:false,lowercase:false,numbers:true,allothers:false,custom:false,custxt:'',slctlen:16};//defaults to 16 digit number
var upperCase='ABCDEFGHIJKLMNOPQRSTUVWXYZ';//26
var lowerCase='abcdefghijklmnopqrstuvwxyz';//26
var numBers='0123456789';//10
var allOthers='~@#$%^&*()_-+={[}]|\:;"<,>.?/';//29
var s='';
var o='';
s+=(sObj.uppercase)?upperCase:'';
s+=(sObj.lowercase)?lowerCase:'';
s+=(sObj.numbers)?numBers:'';
s+=(sObj.allothers)?allOthers:'';
s+=(sObj.custom)?sObj.custxt:'';
for(var i=0;i<sObj.slctlen;i++){
o+=s.charAt(Math.floor(Math.random()*s.length));
}
Logger.log(o);
return o;
}
Я не вижу поведения, о котором вы упоминаете, когда формат меняется на научную нотацию.Таким образом, вы не достигли минимального полного проверяемого примера.