String 在NX知识融合中检查字符串是否可以转换为数字类型
我有一个NX Knowledge Fusion Check Mate程序来检查是否有任何手动维度包含任何类型的数字 但是维度的数据类型总是字符串列表(我只对列表的第一个位置感兴趣) 如果列表第一个位置包含的字符串可以转换为数字类型,即如果字符串为“200”,则程序必须返回true并将维度标记附加到列表中,但如果为“22c”,则程序必须返回false 我尝试使用函数MakeNumber(string),但该函数只有在字符串可以转换为Number时才起作用。如果字符串不是数字,程序将崩溃 非常感谢 checker函数的dfa代码为: 检验函数 (任何未缓存的)进行检查: @{String 在NX知识融合中检查字符串是否可以转换为数字类型,string,number-formatting,siemens-nx,String,Number Formatting,Siemens Nx,我有一个NX Knowledge Fusion Check Mate程序来检查是否有任何手动维度包含任何类型的数字 但是维度的数据类型总是字符串列表(我只对列表的第一个位置感兴趣) 如果列表第一个位置包含的字符串可以转换为数字类型,即如果字符串为“200”,则程序必须返回true并将维度标记附加到列表中,但如果为“22c”,则程序必须返回false 我尝试使用函数MakeNumber(string),但该函数只有在字符串可以转换为Number时才起作用。如果字符串不是数字,程序将崩溃 非常感谢
$dim_manual我编写了一个计算字符串是否为数字的方法
(List) numbers: {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "." , ","};
(Method Boolean) is_numeric:(String $cadena)
@{
$is_a_number << loop {
for $text_split is SplitString($cadena,"");
do ug_printMessage($text_split);
for $i from 0 to Length($text_split);
for $exist_number is Find(nth($i,$text_split),numbers:);
do ug_printvalue($i);
do ug_printvalue($exist_number);
return is $exist_number != "No Value";
};
};
(列表)编号:{“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”、“1”、“4”、“5”、“6”、“7”、“8”、“9”、“0”、“0”、“0”、“3”、“4”、“5”、“5”、“6”、“7”、“8”、“9”、“9”、“0”、“0”、“7”、“8”、“8”、“8”、“9”、“0”、“7”、“7”、“7”、“7;
(布尔方法)是数值的:(字符串$cadena)
@{
$is_a_number我找到了一个解决方案。我的dfa方法确定给定字符串是否可以解析为数字
( List ) numbers: {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "." , ","};
( Method Boolean) vh_numeric_string:(String $cadena) @{
$is_a_number << loop {
for $text_split is SplitString($cadena,"");
for $i from 1 to Length($text_split);
for $exist_number is Find(nth($i,$text_split),numbers:);
if ($exist_number = NoValue) return False;
return is True;
};
};
( List ) numbers: {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "." , ","};
( Method Boolean) vh_numeric_string:(String $cadena) @{
$is_a_number << loop {
for $text_split is SplitString($cadena,"");
for $i from 1 to Length($text_split);
for $exist_number is Find(nth($i,$text_split),numbers:);
if ($exist_number = NoValue) return False;
return is True;
};
};
for $is_number is vh_numeric_string:(nth(0,$text));