You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

谷歌表格Apps Script负数金额格式求助:需显示-£3.50而非£-3.50

解决谷歌表格Apps Script金额格式化问题

原代码存在多处逻辑问题:比如条件判断用了赋值符号=而非比较符号,且仅处理输入单个-的极端情况,完全没覆盖正常负数输入(如-3.5)的场景。以下是修正后的代码,可实现将负数格式化为-£3.50的需求:

var ui = SpreadsheetApp.getUi();
var snacks = ui.prompt('Numbers only.', 'Please enter the price of the snacks.', ui.ButtonSet.OK);
var snacksPriceStr = snacks.getResponseText();

// 将输入转为数字,同时验证输入有效性
var snacksPrice = parseFloat(snacksPriceStr);
if (isNaN(snacksPrice)) {
  ui.alert('请输入有效的数字!');
} else {
  // 统一保留两位小数
  var absPrice = Math.abs(snacksPrice).toFixed(2);
  // 根据正负值拼接对应格式
  var finalFormat = snacksPrice < 0 ? "-£" + absPrice : "£" + absPrice;
  ui.alert(finalFormat);
}

核心修正说明:

  • 新增输入验证:用parseFloat转数字,isNaN判断是否为有效数字,避免非数字输入导致报错
  • 重构负数处理逻辑:取输入值的绝对值格式化后,将负号前置到英镑符号£之前
  • 简化格式拼接:用三元运算符统一处理正负值的格式输出,逻辑更简洁

内容的提问来源于stack exchange,提问作者Ruby_0_T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:15:52