如何通过Google Script将Google Sheets单元格数值格式化为指定欧元货币格式
错误点说明
- 代码中调用的
new Currency()不是Google Apps Script的内置类,没有对应的定义,直接触发「Currency is not defined」报错 Utilities.formatcurrency也不是合法的内置API,不存在该方法
修复后的实现方案
你需要的欧元格式(千位用.分隔、小数位用,分隔、末尾带€符号)可以直接用JavaScript内置的Intl.NumberFormat实现,对应德语区的货币显示规则,完全符合你的需求:
function formatcurrency(amount) { return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(amount); }
使用说明
- 直接替换你原来的自定义
formatcurrency函数即可,原有调用代码body2.replaceText('{{Sum Onsite}}', formatcurrency(row[25]));无需修改 - 如果
row[25]返回的是字符串格式的数值,需要先转为数字再传入函数,修改调用代码为:body2.replaceText('{{Sum Onsite}}', formatcurrency(Number(row[25])));
内容的提问来源于stack exchange,提问作者K Yassin
相关产品推荐
相关产品推荐

