[英]How to set the result to 2 decimal places in google apps script
I have the following code and require the results have 2 decimal places我有以下代码并要求结果有 2 位小数
function TotalVat() {
const ss = SpreadsheetApp.openById('1BAj2E_xv3bz_Fnt0Xcm5UidGapZhVWeJ6gA5w3-Vnsj');
const sh = ss.getSheetByName("JOBS");
const vs = sh.getRange(2, 1, sh.getLastRow() - 2, sh.getLastColumn()).getValues();
vs.forEach((r,i) => {
sh.getRange(i + 2,38).setNumberFormat("0.#0").setValue(r[35] * (r[36]/100));
});
}
The format on the spreadsheet is 2 decimal places however I am also sending the result by email and here the result from the calculation is more than 2 decimal places.电子表格上的格式是 2 位小数,但我也通过 email 发送结果,这里计算的结果超过 2 位小数。 Any assistance will be greatly appreciated.
任何帮助将不胜感激。 Thanks
谢谢
Try:尝试:
sh.getRange(i + 2,38).setValue(r[35] * (r[36]/100).setNumberFormat("0.00")
This works for me:这对我有用:
function TotalVat() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Sheet0");
const vs = sh.getRange(2, 1, sh.getLastRow() - 1, sh.getLastColumn()).getValues();
vs.forEach((r, i) => {
sh.getRange(i + 2, 3).setValue(r[0] * (r[1] / 100)).setNumberFormat("0.00");
});
}
COL1![]() |
COL2![]() |
|
---|---|---|
3 ![]() |
10 ![]() |
0.30 ![]() |
9 ![]() |
8 ![]() |
0.72 ![]() |
5 ![]() |
15 ![]() |
0.75 ![]() |
11 ![]() |
12 ![]() |
1.32 ![]() |
0 ![]() |
13 ![]() |
0.00 ![]() |
0 ![]() |
19 ![]() |
0.00 ![]() |
7 ![]() |
15 ![]() |
1.05 ![]() |
18 ![]() |
17 ![]() |
3.06 ![]() |
18 ![]() |
1 ![]() |
0.18 ![]() |
11 ![]() |
17 ![]() |
1.87 ![]() |
9 ![]() |
15 ![]() |
1.35 ![]() |
3 ![]() |
3 ![]() |
0.09 ![]() |
17 ![]() |
16 ![]() |
2.72 ![]() |
2 ![]() |
4 ![]() |
0.08 ![]() |
3 ![]() |
13 ![]() |
0.39 ![]() |
3 ![]() |
8 ![]() |
0.24 ![]() |
19 ![]() |
1 ![]() |
0.19 ![]() |
19 ![]() |
5 ![]() |
0.95 ![]() |
2 ![]() |
8 ![]() |
0.16 ![]() |
15 ![]() |
10 ![]() |
1.50 ![]() |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.