[英]Prompt user input on Google Apps Script, error with `getUi()` method
[英]Adding User input without rounding (Google Apps Script)
我在用戶添加數字並返回結果時將用戶輸入添加到UI中。 輸入是貨幣,因此我需要將其保留兩位小數而不是四舍五入。
這是我的代碼示例:
function ceiling2(number) {
var ceiling2;
return ceiling2 = Math.ceil(number*100)/100;
}
//Totals
function lD23Total (e){
var app = UiApp.getActiveApplication();
var tB1v = parseInt(e.parameter.TextBox1);
var tB9v = parseInt(e.parameter.TextBox9);
var tB17v = parseInt(e.parameter.TextBox17);
var tB25v = parseInt(e.parameter.TextBox25);
var tB33v = parseInt(e.parameter.TextBox33);
var tB41v = parseInt(e.parameter.TextBox41);
var tB49v = parseInt(e.parameter.TextBox49);
var lD23 = app.getElementById("LabelD23").setStyleAttribute('fontWeight','bold');
var lD23T = tB1v + tB9v + tB17v + tB25v + tB33v + tB41v + tB49v;
lD23.setText("$ " + ceiling2(lD23T));
var app = UiApp.getActiveApplication();
app.close();
return app;
}
當前,它返回一個四舍五入的數字。
感謝您提出的建議!
喬恩
函數parseInt()會將值轉換為整數,將值刪除到小數點后。 請改用parseFloat()。
我認為您的功能很好...如果您刪除parseInt()並按照Eric或Number()的建議將其替換為parseFloat(),它應該可以正常工作...否則,問題可能出在數字寫為:
如果您使用的是26,4567,但應使用26.4567(帶點作為分隔符)代替逗號。
您可以嘗試使我們了解情況嗎? 問候,Serge
或者,您可以在發送給函數之前使用它:
var newnumber=Number(number.toString().replace(",","."));// convert to string, replace comma with dot and set as number again.
並且您的功能在兩種情況下都可以工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.