要检查LS中的值是否为数字,我将编写以下代码:
Dim strVal as String
Dim dVal as Double
strVal = doc.fldValue(0)
If IsNumeric(strVal) Then
dVal = cdbl(strVal)
End If
我们如何在XPage中实现这一目标?我刚刚在数字字段上尝试了getItemValueString,但它不起作用。 getItemValueDouble工作,但是我们都知道我们不能依赖该字段值为数字(如果运行某个流氓代理并将特定文档上的字段转换为错误的文本字段!),那么我们如何检查是否在XPages中它是数字还是不是数字?有没有一种简单的方法来实现这一点,还是我们必须使用getItemValue并检查向量对象?有没有人注意到这个?
感谢。
答案 0 :(得分:3)
根据我保存数值的经验,它将作为double值返回。如果要确定.getitemvalue(“field”)值返回的数据类型,可以对返回的值使用.getClass()方法。例如,当您想将其打印到控制台时:
var x = doc.getItemValue("fieldx").get(0)
if(x!=null){
print(x.getClass());
}
because of this you can use code like this:
var x = doc.getItemValue("fieldx").get(0) // get first value of the field
if(x != null){
if(x instanceof java.lang.Double){
}
if(x instanceof java.lang.Integer){}
}
或者......你可以使用
@IsNumber()
)