将具有许多小数位的数字格式化为货币

Format a number with many decimal places as currency

我有这个脚本可以发送一封电子邮件,其中包含电子表格中某个单元格的特定值。

function sendNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var cell = ss.getActiveCell().getA1Notation();
  var cellvalue = ss.getActiveCell().getValue().toString();
  var spr = SpreadsheetApp.getActiveSpreadsheet();
  var column = spr.getRange('k2');
  var values = column.getValues();
  var cell = sheet.getRange('k2');
  cell.setNumberFormat("[=10=].00");
  var range_bill_com = sheet.getRange('k2');
  if (range_bill_com.getValue() !=-1){
     var recipients = "email@gmail.com";
     var message = '';
     var subject = 'exemplo';
     var body = 'O valor previsto de Lucro/Prejuízo para hoje é de:' + values;
     MailApp.sendEmail(recipients, subject, body);
        }
  };

但是在收到的电子邮件中,这个值的格式与我想要的不一样,应该是美元(例如:“O valor previsto de Lucro/Prejuízopara hoje é de:945.2709034832405). 我尝试了一些更改,但不知道如何以我想要的格式获取消息值。 谁能帮我修改这个脚本?

首先 trim 小数位数,然后用前导美元符号连接文本。

function sendNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var cell = ss.getActiveCell().getA1Notation();
  var cellvalue = ss.getActiveCell().getValue().toString();

  var column = ss.getRange('k2');
  var value = column.getValue();
  var cell = sheet.getRange('k2');
  cell.setNumberFormat("[=10=].00");

  var range_bill_com = sheet.getRange('k2');

  if (range_bill_com.getValue() !=-1){
    var recipients = "email@gmail.com";
    var message = '';
    var subject = 'exemplo';
    var valueFormatedAsCurrency = formatToCurrency(value);
    var body = 'O valor previsto de Lucro/Prejuízo para hoje é de:' + 
      valueFormatedAsCurrency;
    MailApp.sendEmail(recipients, subject, body);
  }
};

function formatToCurrency(inputArg) {
  //Logger.log('typeof inputArg: ' + typeof inputArg);

  var inputToNumber = Number(inputArg);
  var fixedValue = inputToNumber.toFixed(2);

  var valAsString = fixedValue.toString();
  //Logger.log('typeof valAsString: ' + typeof valAsString);

  var valAsCurrency = "$" + valAsString;

  //Logger.log('valAsCurrency: ' + valAsCurrency);
  return valAsCurrency;
};