Javascript 添加用户输入而不舍入(Google应用程序脚本)

Javascript 添加用户输入而不舍入(Google应用程序脚本),javascript,add,rounding,google-apps-script,Javascript,Add,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 = p

当用户添加数字并返回结果时,我将用户输入添加到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;  
}
目前它返回一个四舍五入的数字

我很感激你的建议


Jon

函数parseInt将值转换为整数,并将值放在小数点后。改用parseFloat。

我认为你的函数很好。。。 如果删除parseInt并用Eric建议的ParseFloat或数字替换它,它应该可以工作。。。 如果不是,那么问题可能来自数字的书写方式:

如果使用264567,则应使用26.4567,并用点作为分隔符,以代替逗号

你能试着通知我们吗? 当做 哔叽

或者,您可以在发送到函数之前使用此选项:

var newnumber=Number(number.toString().replace(",","."));// convert to string, replace comma with dot and set as number again.
在这两种情况下,您的功能都会起作用