我有一个DOORS模块,该模块的属性用数字字符串填充,因为该属性不适用于所有对象。为了明确标识不受影响的对象,这些属性当前包含“ N / A”。为了进行排序和其他操作,我想将这些属性替换为数字类型。 DOORS可以将任何特殊值理解为“ NULL”或“ N / A”,甚至可以在数字属性中使用的“ Inf”吗?
我知道我可以做一些脚本来创建单独的DXL属性,该属性将数字字符串转换为数字,但如果可能的话,宁愿避免这种情况。
答案 0 :(得分:1)
我担心您要么必须坚持使用字符串,要么定义代表“ n / a”的个人整数值,例如“ 0”。值为'0'的对象在排序后将很容易处理-使用DXL,您可以使用bool null(t value)
函数检查value
是否为null(布尔型:false,字符型:'0',int :0,实数:0.0,字符串:“”)。如果您坚持使用整数字符串,则可以使用函数bool isValidInt(string s)
来帮助您相应地处理“ n / a”字符串。
答案 1 :(得分:0)
您可以将该对象的属性留空吗?
似乎int type属性可以设置为“”-并且您可以基于该属性为空或非空来过滤对象。
有趣的是,在DXL空间中,以下内容似乎适用于基于整数的属性(inttest)
Object o = current
int x = o."inttest"
print ( x ) "\n"
print ( null x ) "\n"
print ( x == 0 )
打印以下结果:
0
true
true
因此,空值会解释为0-需要注意的是,如果0是您的属性中的期望值。