Xpages 检查并返回数字字段值?

Xpages 检查并返回数字字段值?,xpages,Xpages,要检查LS中的值是否为数字,我将编写以下代码: Dim strVal as String Dim dVal as Double strVal = doc.fldValue(0) If IsNumeric(strVal) Then dVal = cdbl(strVal) End If 我们将如何在XPages内实现这一点?我只是在一个数字字段上尝试了getItemValueString,但它不起作用。getItemValueDouble工作正常,但众所周知,我们不能依赖该字段值为数字

要检查LS中的值是否为数字,我将编写以下代码:

Dim strVal as String
Dim dVal as Double

strVal = doc.fldValue(0)

If IsNumeric(strVal) Then
    dVal = cdbl(strVal)
End If
我们将如何在XPages内实现这一点?我只是在一个数字字段上尝试了getItemValueString,但它不起作用。getItemValueDouble工作正常,但众所周知,我们不能依赖该字段值为数字(以防某个恶意代理运行并错误地将特定文档上的字段转换为文本字段!),因此我们如何检查它在XPages中是否为数字?有没有一种简单的方法来实现这一点,或者我们必须使用getItemValue并检查vector对象?还有人注意到了吗


谢谢。

根据我的经验,当您保存数值时,它将以双精度值返回。如果要确定.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() 

)()

根据我的经验,当您保存一个数值时,它将作为双精度值返回。如果要确定.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() 

)()

现在我们开始:函数isNumeric(doc:NotesDocument,strFieldName:String){var-bReturnVal:Boolean=false;if(doc.hasItem(strFieldName)){var-fieldVal=doc.getItemValue(strFieldName)[0];if(fieldVal!=null){if(@IsNumber(fieldVal)){bReturnVal=true;}}返回bReturnVal;}我们开始:函数isNumeric(doc:NotesDocument,strFieldName:String){var-bReturnVal:Boolean=false;if(doc.hasItem(strFieldName)){var-fieldVal=doc.getItemValue(strFieldName)[0];if(fieldVal!=null){if(@IsNumber(fieldVal)){bReturnVal=true;}}}返回bReturnVal;}