0

我第一次发帖,而且我的 Xp 很少。我正在为 Adob​​e 9 pro 使用 livecycle,并尝试进行计算,并不断收到错误消息。

我的基本前提是我需要做一个计算:在 cella 中输入信息,并将 (cella/2)-5 的结果向下舍入,保持负整数出现在另一个单元格中。(是的,尝试做我自己的 3.5 d20 角色表来获取能力分数)。

在 excel 中,我能够串出一个稍微复杂的 trunc 公式 =IF((Cella-10)/2<0,TRUNC((Cella)/2-0.5),TRUNC((Cella-10)/2)),但不知道在 livecycle 中该做什么。

我在livecycle教程之后尝试了类似的方法,但无济于事。老实说,在这里所有帐户上都没有它,包括符号和变量应该在哪里,感谢您的帮助。

变量 x = 单元格 1/2-5;if (x <0) {return Math.ceil(x)}; 否则 {返回 Math.floor(x)}

//cell1 使用 control+click 从 livecycle 中的工作表中选择,尝试计算并在脚本行输入格式。//我的公式是否需要一个 var x,不确定,有些教程说是的,有些教程说不需要。//不确定在哪里放置 { } 如果有的话。// Math.floor 和 Math.ceil 不像 livecycle 脚本栏中的其他函数那样显示为蓝色突出显示,我将所有单元格保留在 javamode 中。

4

1 回答 1

0

以前的答案数学正确,但在 LiveCycle 事件中不起作用(返回语句在事件中无效。)

假设您有两个字段:cellA(输入数字的位置)、cellB(应显示舍入结果的位置)。根据需要替换为工作表中的实际名称。

在 cellB(保存结果的字段)的计算事件中,放入以下代码:

var v = null;
if (cellA.rawValue != null && cellA.rawValue != "")
{   
    v = cellA.rawValue / 2 - 5; 
    v = v < 0 ? Math.ceil(v) : Math.floor(v);
}
this.rawValue = v;

if 语句在那里,因此当您第一次打开表单时它不会计算。

旁注,livecycle 中的 javascript 编辑器非常糟糕,所以不要指望在语法/格式方面有很多帮助。我建议您下载 Notepad++ 并将 java 代码粘贴到其中,这对于突出显示某些语法和检查开/关括号更有帮助。

于 2014-12-29T16:44:44.090 回答