首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正负数Utilities.formatString

正负数Utilities.formatString
EN

Stack Overflow用户
提问于 2020-12-14 02:42:10
回答 1查看 489关注 0票数 0

我想以丰富的格式显示数字字符串数据,当数字为正或负时,应用不同的颜色。

我目前的代码是:

代码语言:javascript
复制
var url = 'https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxx/edit#gid=xxxxxxxxx';
var spreadSheet = SpreadsheetApp.openByUrl(url);
var allSheets = spreadSheet.getSheets();
var theSheet = allSheets[1];
var lastRow = theSheet.getLastRow();
var lastColumn = theSheet.getLastColumn();
var sheetData = theSheet.getSheetValues(1, 1, lastRow, lastColumn);

var rawData = sheetData[1][1];
var calcData = sheetData[1][1] / sheetData[0][1];
var formattedData = Utilities.formatString("%+1.2f%", calcData * 100);

formattedData的结果如下所示:

+12.1%

我想,如果用不同的颜色显示,绿色字母表示肯定,红色字母显示负值会更好。

相关案例:.setNumberFormat不在Google脚本中工作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-14 03:09:37

在脚本中,formattedData是字符串值。当您要更改字体颜色时,在这种情况下,需要将该值设置为单元格。所以在这个例子中,我想提出改变单元格中字体颜色的方法。

如果使用脚本中的theSheet,示例脚本如下所示。

示例脚本:

代码语言:javascript
复制
var calcData = -0.1234;
theSheet
  .getRange("A1")
  .setValue(calcData)
  .setNumberFormat('+0.00%;-0.00%;0.00')
  .setFontColor(calcData > 0 ? "green" : "red");
  • 在这个示例脚本中,-12.34%放在单元格"A1“中,字体颜色为红色。
  • 使用var calcData = 0.1234;时,+12.34%被放入单元格"A1“,字体颜色为绿色。
  • 当您想使用Utilities.formatString时,示例脚本如下所示。 变量calcData = -0.1234;变量formattedData = Utilities.formatString("%+1.2f%",calcData * 100);theSheet .getRange("A1") .setValue(formattedData) .setFontColor(calcData >0?“绿色”:“红色”;

注意:

  • 这是一个简单的示例脚本。因此,请根据您的实际情况修改它。

参考文献:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65282966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档