本文介绍了Crystal报表检查如果字符串包含任何数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用水晶报表,在我的一个公式,我想检查一个字符串是否包含任何数值。示例如下所示...

I'm using Crystal Reports and in 1 of my formulas, I'd like to check if a string contains any numerical value or not. Examples are shown below...

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

我想使用INSTR()函数。我这样做...

I've already achieved what I want using the INSTR() function. I did it like this...

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

只是想知道是否有任何更短或更有效的代码。非常感谢。

I'd just like to know if there's any shorter or more efficient code. Thank you very much.

推荐答案

创建名为 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")

这篇关于Crystal报表检查如果字符串包含任何数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-06 16:51