【问题标题】:Crystal Formula field - Splitting a string array of numbers, summing them, and returning the total returns a boolean instead of a number水晶公式字段 - 拆分数字字符串数组,将它们相加并返回总数返回布尔值而不是数字
【发布时间】:2015-03-12 06:37:20
【问题描述】:

这是安装在 Crystal 报表 2008 中的所有服务包。 我正在尝试使用公式字段来获取空格分隔数字的字符串字段,将它们相加并返回总数。

代码如下。在预览和打印的报告中始终显示 true。不完全确定我是否将报告上的字段框格式错误或输出错误,但我确定这很愚蠢。

任何指向正确方向的指针都将非常感激!

//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]))

);

【问题讨论】:

    标签: sql crystal-reports crystal-reports-2008


    【解决方案1】:

    您的公式未计算总和的值。公式中的最后一件事应该是 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
    

    【讨论】:

      【解决方案2】:

      我建议先做数字检查,然后再做加法。

      (if NumericText(output[i]) then
          LabourHrsINT := LabourHrsINT + Val(output[i]))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-13
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 2019-08-20
        • 2011-09-20
        • 1970-01-01
        相关资源
        最近更新 更多