In this report, it has investigated the large decimal numbers and the exponential notation for Google Spreadsheet. When the large decimal numbers are put to the Spreadsheet, the Spreadsheet automatically sets the display value using the exponential notation. In this report, the result when the values are retrieved by Spreadsheet service and Sheets API is shown.
Sample script
At first, please create new Spreadsheet and open the script editor. And please copy and paste the following script. And, please enable Sheets API at Advanced Google services.
function myFunction() {
  const sheetName = "Sheet1";
  // Set values to Spreadsheet.
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName(sheetName);
  const maxDigit = 30;
  const values = Array(maxDigit)
    .fill("")
    .map((_, i) => {
      const v = 1 + Array(i).fill(0).join("");
      return [v, v.length];
    });
  const range = sheet
    .getRange(2, 1, values.length, values[0].length)
    .setValues(values);
  SpreadsheetApp.flush();
  // Retrieve the values using Spreadsheet service and Sheets API.
  const valuesFromSpreadsheetService1 = range.getValues();
  const valuesFromSpreadsheetService2 = range.getDisplayValues();
  const valuesFromSheetsAPI1 = Sheets.Spreadsheets.Values.get(
    ss.getId(),
    `${sheetName}!${range.getA1Notation()}`
  ).values;
  const valuesFromSheetsAPI2 = Sheets.Spreadsheets.Values.get(
    ss.getId(),
    `${sheetName}!${range.getA1Notation()}`,
    { valueRenderOption: "UNFORMATTED_VALUE" }
  ).values;
  // Show the result.
  console.log(valuesFromSpreadsheetService1);
  console.log(valuesFromSpreadsheetService2);
  console.log(valuesFromSheetsAPI1);
  console.log(valuesFromSheetsAPI2);
}
When this script is run, the following values are put to the sheet “Sheet1”.

And, the put values are retrieved by Spreadsheet service and Sheets API.
Result
- 
console.log(valuesFromSpreadsheetService1);[ [ 1, 1 ], [ 10, 2 ], [ 100, 3 ], [ 1000, 4 ], [ 10000, 5 ], [ 100000, 6 ], [ 1000000, 7 ], [ 10000000, 8 ], [ 100000000, 9 ], [ 1000000000, 10 ], [ 10000000000, 11 ], [ 100000000000, 12 ], [ 1000000000000, 13 ], [ 10000000000000, 14 ], [ 100000000000000, 15 ], [ 1000000000000000, 16 ], [ 10000000000000000, 17 ], [ 100000000000000000, 18 ], [ 1000000000000000000, 19 ], [ 10000000000000000000, 20 ], [ 100000000000000000000, 21 ], [ 1e+21, 22 ], [ 1e+22, 23 ], [ 1e+23, 24 ], [ 1e+24, 25 ], [ 1e+25, 26 ], [ 1e+26, 27 ], [ 1e+27, 28 ], [ 1e+28, 29 ], [ 1e+29, 30 ] ]
- 
console.log(valuesFromSpreadsheetService2);[ [ '1', '1' ], [ '10', '2' ], [ '100', '3' ], [ '1000', '4' ], [ '10000', '5' ], [ '100000', '6' ], [ '1000000', '7' ], [ '10000000', '8' ], [ '100000000', '9' ], [ '1000000000', '10' ], [ '10000000000', '11' ], [ '100000000000', '12' ], [ '1000000000000', '13' ], [ '10000000000000', '14' ], [ '100000000000000', '15' ], [ '1E+15', '16' ], [ '1E+16', '17' ], [ '1E+17', '18' ], [ '1E+18', '19' ], [ '1E+19', '20' ], [ '1E+20', '21' ], [ '1E+21', '22' ], [ '1E+22', '23' ], [ '1E+23', '24' ], [ '1E+24', '25' ], [ '1E+25', '26' ], [ '1E+26', '27' ], [ '1E+27', '28' ], [ '1E+28', '29' ], [ '1E+29', '30' ] ]
- 
console.log(valuesFromSheetsAPI1);[ [ '1', '1' ], [ '10', '2' ], [ '100', '3' ], [ '1000', '4' ], [ '10000', '5' ], [ '100000', '6' ], [ '1000000', '7' ], [ '10000000', '8' ], [ '100000000', '9' ], [ '1000000000', '10' ], [ '10000000000', '11' ], [ '100000000000', '12' ], [ '1000000000000', '13' ], [ '10000000000000', '14' ], [ '100000000000000', '15' ], [ '1E+15', '16' ], [ '1E+16', '17' ], [ '1E+17', '18' ], [ '1E+18', '19' ], [ '1E+19', '20' ], [ '1E+20', '21' ], [ '1E+21', '22' ], [ '1E+22', '23' ], [ '1E+23', '24' ], [ '1E+24', '25' ], [ '1E+25', '26' ], [ '1E+26', '27' ], [ '1E+27', '28' ], [ '1E+28', '29' ], [ '1E+29', '30' ] ]
- 
console.log(valuesFromSheetsAPI2);[ [ 1, 1 ], [ 10, 2 ], [ 100, 3 ], [ 1000, 4 ], [ 10000, 5 ], [ 100000, 6 ], [ 1000000, 7 ], [ 10000000, 8 ], [ 100000000, 9 ], [ 1000000000, 10 ], [ 10000000000, 11 ], [ 100000000000, 12 ], [ 1000000000000, 13 ], [ 10000000000000, 14 ], [ 100000000000000, 15 ], [ 1000000000000000, 16 ], [ 10000000000000000, 17 ], [ 100000000000000000, 18 ], [ 1000000000000000000, 19 ], [ 10000000000000000000, 20 ], [ 100000000000000000000, 21 ], [ 1e+21, 22 ], [ 1e+22, 23 ], [ 1e+23, 24 ], [ 1e+24, 25 ], [ 1e+25, 26 ], [ 1e+26, 27 ], [ 1e+27, 28 ], [ 1e+28, 29 ], [ 1e+29, 30 ] ]
Summary
From the retrieved values, the following results were obtained.
- 
Values retrieved by getDisplayValuesare the same with the method of spreadsheets.values.get in Sheets API with the default option.- 
The number of 15 digits can be retrieved as the raw number. 
- 
At Sheets API, the methods spreadsheets.values.get, spreadsheets.values.batchGet and spreadsheets.get are the same result. 
 
- 
- 
Values retrieved by getValuesare the same with the method of spreadsheets.values.get in Sheets API with the option ofvalueRenderOption: "UNFORMATTED_VALUE".- 
The number of 21 digits can be retrieved as the raw number. 
- 
In this case, the option of valueRenderOption: "UNFORMATTED_VALUE"can be used for the methods of spreadsheets.values.get and spreadsheets.values.batchGet. But the method of spreadsheets.get has no option. So in this case, the method of spreadsheets.get cannot retrieve the large decimal numbers.
- 
Also, the result of getValuesis the same with the method ofgetSheetValues.
 
-