在VBSCRIPT中将数据类型从char更改为int
嗨,我需要你们的帮助 我不熟悉我使用的系统,我正在定制使用crystal report的报告, 我需要得到最后一页的值,并将其与当前页进行比较 (CurrentPage LastPage),但最后一页的数据类型设置为string/char。。 我想这就是为什么我不能在上述条件下得到结果的原因。有什么办法可以改变吗 它的数据类型是整数吗?或者,是否有其他方法可以从crystal reports中获取LastPage整数值,而不使用最后一页的设置变量在VBSCRIPT中将数据类型从char更改为int,vbscript,crystal-reports,Vbscript,Crystal Reports,嗨,我需要你们的帮助 我不熟悉我使用的系统,我正在定制使用crystal report的报告, 我需要得到最后一页的值,并将其与当前页进行比较 (CurrentPage LastPage),但最后一页的数据类型设置为string/char。。 我想这就是为什么我不能在上述条件下得到结果的原因。有什么办法可以改变吗 它的数据类型是整数吗?或者,是否有其他方法可以从crystal reports中获取LastPage整数值,而不使用最后一页的设置变量 谢谢。请记住,无论内容如何,所有文本框值始终是字
谢谢。请记住,无论内容如何,所有文本框值始终是字符串值
'Private Sub TextBox1_Change()
Dim IntValue As Integer
If TextBox1.TextLength > 0 Then
IntValue = TextBox1 * 1 ' method 1
'IntValue = TextBox1 + 1 - 1 ' method 2
'IntValue = TextBox1 + 0 ' method 3
MsgBox "IntValue = " & IntValue
End If
End Sub'
CInt指定整数数据类型。VBScript通常会自动转换。我有一个不同的用户id,所以我必须在这里回复。这是一个变体
struct tagVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union {
// C++ Type Union Name Type Tag Basic Type
// -------- ---------- -------- ----------
long lVal; // VT_I4 ByVal Long
unsigned char bVal; // VT_UI1 ByVal Byte
short iVal; // VT_I2 ByVal Integer
float fltVal; // VT_R4 ByVal Single
double dblVal; // VT_R8 ByVal Double
VARIANT_BOOL boolVal; // VT_BOOL ByVal Boolean
SCODE scode; // VT_ERROR
CY cyVal; // VT_CY ByVal Currency
DATE date; // VT_DATE ByVal Date
BSTR bstrVal; // VT_BSTR ByVal String
IUnknown *punkVal; // VT_UNKNOWN
IDispatch *pdispVal; // VT_DISPATCH ByVal Object
SAFEARRAY *parray; // VT_ARRAY|* ByVal array
// A bunch of other types that don't matter here...
VARIANT *pvarVal; // VT_BYREF|VT_VARIANT ByRef Variant
void * byref; // Generic ByRef
};
};
变体通常会自动转换,需要一个字符串才能将其更改为字符串
这是一个OLE函数(可能是VB使用的)
此函数在不更改变量值的情况下更改变量的类型(如果可能)。要就地更改变量,请使目标与源相同
CInt强制它是一个整数,即使vbscript认为它应该是其他的
因此,如果您尝试向包含52的字符串中添加另一个数字,则该字符串将是一个整数
此外,为了与16位VB兼容,在basic中int是16位的,long是32位的。如果您发布您的内容,我们可以更有效地帮助您……它仍然不起作用。谢谢,但我猜此方法没有更改字符串的数据类型,此方法只会导致(string+1=“String1”)的串联,并为(string*1)提供错误。CInt函数将任何数字转换为子类型Integer的变量。这里说这个函数用于整数[CInt(AnyInteger)],这个函数也启用字符串吗?i、 e.[CInt(STRING)]+符号用于添加数字和压缩字符串
A=“5”B=5 msgbox A+B msgbox cint(A)+B msgbox clng(A)+B
全部打印10
HRESULT VariantChangeType(VARIANT * pvDst, VARIANT * pvSrc, WORD wFlags, VARTYPE vt);