Crystal Reports检查String是否包含任何数值

时间:2014-02-28 06:16:57

标签: crystal-reports formula

我正在使用Crystal Reports,在我的一个公式中,我想检查一个字符串是否包含任何数值。示例如下所示......

"Chris(12)" Returns True
"123"       Returns True
"Pot"       Returns False
"John0"     Returns True

我已经使用INSTR()函数实现了我想要的功能。我这样做了......

if INSTR(string,"0") <> 0 or INSTR(string,"1") <> 0 or INSTR(string,"2") <> 0 ... then
   True
else
   False

我想知道是否有更短或更有效的代码。非常感谢你。

1 个答案:

答案 0 :(得分:3)

创建名为ContainsNumber的自定义函数:

Function (Stringvar text)

  Local Booleanvar found := False;
  Local Numbervar i;

  For i := 1 To Len(text) Do (

    If IsNumeric(Mid(text, i, 1)) Then (
      found := True;
      Exit For
    )

  );

  found;

在公式字段中使用:

// FALSE
ContainsNumber ("ABC")

// TRUE
ContainsNumber ("ABC123")