我正在使用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
我想知道是否有更短或更有效的代码。非常感谢你。
答案 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")