Google Apps脚本的正确字符串格式结构是什么 - 根据documentation。
这是关于C格式化的工作原理吗?
我无法想象如何使用'%' - 样式格式字符串来编写类似sprintf的字符串格式。
我正在使用Google Apps脚本从电子表格中复制数据,处理内存中的数据,然后将Google文档中的文本占位符替换为已处理的数据。
某些数据包括用于表示货币的数字,这些数字放在表格中。
我写了一个简单的函数来格式化字符串......
function formatStringCurrency(tempValue) {
// Description
return Utilities.formatString("$%d,%3.2f", tempValue/1000, tempValue%1000);
}
我通过这个函数解析必要的数据,以准备一个“类似货币”的字符串。
我的问题 - 我的格式化功能完美,除非字符串超过1,000,并且也是1000的倍数,即不包含数百或更少。
例如,这是我当前输出的截图示例......
第二行旨在显示$ 3,000.00和$ 12,000.00。
我考虑过格式化Google Doc表,但是手动或编程都无法实现。
我还试图从原始电子表格中表示的数字中删除所有格式,但这并没有什么区别。
与往常一样,任何协助都将受到赞赏。
答案 0 :(得分:2)
前导零(左边的零,直到最小位数)不适用于花车。但这将有效
function formatStringCurrency(tempValue) {
// Description
return Utilities.formatString("$%d,%02d%1.2f", tempValue/1000, tempValue%1000/10,tempValue%10);
}
function examples(){
Logger.log(formatStringCurrency(1));
Logger.log(formatStringCurrency(0.1));
Logger.log(formatStringCurrency(1000));
Logger.log(formatStringCurrency(100));
Logger.log(formatStringCurrency(134141));
Logger.log(formatStringCurrency(32423.43));
}
结果:
[14-07-08 19:47:21:138 HKT] $0,001.00
[14-07-08 19:47:21:141 HKT] $0,000.10
[14-07-08 19:47:21:145 HKT] $1,000.00
[14-07-08 19:47:21:149 HKT] $0,100.00
[14-07-08 19:47:21:154 HKT] $134,141.00
[14-07-08 19:47:21:157 HKT] $32,423.43