javascript - 固定整数 Google 脚本的字符串数字

标签 javascript string google-apps-script integer

我无法将字符串“u12345678910”转换为没有科学记数法的整数。所以基本上,它实际上需要恰好是 12345678910。

我是如何处理它的:
1.对“u”进行切片以获得我想要的数字(切片后它仍然是一个字符串)或使用.replace()
2.尝试了parseInt()、Number(),两者都给我一个科学计数法的数字。
3. parseFloat() & 然后 parseInt(),不知道为什么,但在某处读到这可能有效,但它没有。

为什么我需要这个确切的数字?
由于它是EmbeddedChart & Google Slides API 的chartId,因此出现错误:ID 必须为TYPE_INT32。

希望有人能解决这个问题,因为它是目前阻碍我项目的唯一因素:(

请在下面找到一些有关如何重现的示例代码。

*我正在使用 Google Apps 脚本,图表在电子表格中,并且我正在使用 Spencer Easton 的 Google Slides API 库

var ss = SpreadsheetApp.getActiveSpreadsheet(),
  allSheets = ss.getSheets();
var chart = allSheets[0].getCharts()[0],
    chartId = chart.getId(); // this returns 'u12345678910'

var chartStringNumber = chartId.slice(1); // returns 12345678910 (string)
var chartIdNumber = Number(chartStringNumber); // Here I want the result to be typeof INT & 12345678910, but i keep getting a number incl scientific notation. I have also tried parseInt().

最佳答案

内置 SpreadsheetApp 服务返回的 ChartID 是一个字符串值,可以使用 setId() 覆盖,并且以任意值开头 - 所以它不是您想要的 id。

要使用 Slides API,您需要“真实”图表 ID,该 ID 可从高级电子表格服务或直接从 Sheets API 获取。

您可以使用此代码通过高级服务枚举工作表及其图表和真实 ID。

var ch = Sheets.Spreadsheets.get(ss.getId(), {
       "fields": "sheets(charts/chartId,properties(sheetId,title))"
});

var sheets = ch.sheets.map (function (d) {
  return {
    id:d.properties.sheetId,
    name:d.properties.title,
    charts:d.charts
  }
});

关于javascript - 固定整数 Google 脚本的字符串数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42471508/

相关文章:

javascript - UI日期选择器代码格式

javascript - 从 URL 捕获顶级域名时出现问题

javascript - 如何使用 id/class 将元素放置在其他元素旁边?

javascript - 是否可以测试 javascript 函数是否是构造函数?

string - .bat 文件搜索和替换结构化文本文件中的字符串

string - 查找给定字符串中缺失的数字

使用指针更改 C 中 main 中另一个函数的字符串值

tree - 确定在 Google Apps 脚本树中选择了哪个 TreeItem

google-apps-script - Google Apps 脚本 - 如何更改代码以在事件 Google 云端硬盘共享文件夹而不是根(我的云端硬盘)文件夹中创建 Google 表格文件?

javascript - 从 google 工作表中提取数据并显示为简单的 html 文本