添加用户输入而不舍入(Google Apps 脚本)

Adding User input without rounding (Google Apps Script)

本文关键字:Google Apps 脚本 舍入 用户 输入 不舍 添加      更新时间:2023-09-26

当他们添加数字并返回结果时,我正在将用户输入添加到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() 并用 parseFloat() 替换它,按照 Eric 或 Number() 的建议,它应该可以工作......如果不是,那么问题可能来自数字的编写方式:

如果使用 26,4567,

但应使用带有点的 26.4567 作为分隔符代替逗号。

你能试着让我们了解情况吗?问候哔叽

或者你可以在发送到你的函数之前使用它:

var newnumber=Number(number.toString().replace(",","."));// convert to string, replace comma with dot and set as number again.

并且您的函数将在两种情况下工作