Crystal 公式字段 - 拆分数字字符串数组,对它们求和,然后返回总数 returns 一个布尔值而不是数字
Crystal Formula field - Splitting a string array of numbers, summing them, and returning the total returns a boolean instead of a number
这是在 Crystal 报告 2008 中,已安装所有服务包。
我正在尝试使用公式字段来获取 space 分隔数字的字符串字段,对它们求和并 return 总数。
代码如下。在预览和打印的报表上始终显示为真。不完全确定我是否将报告中的字段框格式化错误或者输出是否错误,但我确定这很愚蠢。
任何正确方向的指示都将不胜感激!
//Sample Field Values
//4.00 12.00 13.5 1 1 1 1
//3.00 12.50 13.5 1 1.5 1.5 1.5
Numbervar LabourHrsINT;
Local Numbervar i;
Stringvar Array output:= Split({CR_VEH_HIST_.LABHRS}," ");
LabourHrsINT := 0;
for i := 1 to ubound(output) do (
LabourHrsINT := LabourHrsINT + (if NumericText(output[i]) then
Val(output[i]))
);
我建议先进行数字检查,然后再进行加法。
(if NumericText(output[i]) then
LabourHrsINT := LabourHrsINT + Val(output[i]))
您的公式未计算总和值。公式中的最后一件事应该是 LabourHrsINT
.
的最终值
Numbervar LabourHrsINT:=0;
Local Numbervar i;
Stringvar Array output:= Split({CR_VEH_HIST_.LABHRS}," ");
for i := 1 to ubound(output) do (
if NumericText(output[i]) then
LabourHrsINT := LabourHrsINT + Val(output[i])
);
LabourHrsINT
这是在 Crystal 报告 2008 中,已安装所有服务包。 我正在尝试使用公式字段来获取 space 分隔数字的字符串字段,对它们求和并 return 总数。
代码如下。在预览和打印的报表上始终显示为真。不完全确定我是否将报告中的字段框格式化错误或者输出是否错误,但我确定这很愚蠢。
任何正确方向的指示都将不胜感激!
//Sample Field Values
//4.00 12.00 13.5 1 1 1 1
//3.00 12.50 13.5 1 1.5 1.5 1.5
Numbervar LabourHrsINT;
Local Numbervar i;
Stringvar Array output:= Split({CR_VEH_HIST_.LABHRS}," ");
LabourHrsINT := 0;
for i := 1 to ubound(output) do (
LabourHrsINT := LabourHrsINT + (if NumericText(output[i]) then
Val(output[i]))
);
我建议先进行数字检查,然后再进行加法。
(if NumericText(output[i]) then
LabourHrsINT := LabourHrsINT + Val(output[i]))
您的公式未计算总和值。公式中的最后一件事应该是 LabourHrsINT
.
Numbervar LabourHrsINT:=0;
Local Numbervar i;
Stringvar Array output:= Split({CR_VEH_HIST_.LABHRS}," ");
for i := 1 to ubound(output) do (
if NumericText(output[i]) then
LabourHrsINT := LabourHrsINT + Val(output[i])
);
LabourHrsINT