Vbscript 如何将变量初始化为最大值
我试图找出如何将VBScript中的变量初始化为其最大值 例如,在C++中,我会做如下的事情:Vbscript 如何将变量初始化为最大值,vbscript,Vbscript,我试图找出如何将VBScript中的变量初始化为其最大值 例如,在C++中,我会做如下的事情: double x = MAX_DOUBLE; 我不知道如何在VBScript中执行此操作 更新 现在,我自己将变量定义为脚本全局范围内的常量值。我不确定这是否是最优雅的方式。是否有一个内置变量可以使用 Const MAX_DOUBLE = CDbl(1.79769313486232e307) Const MIN_DOUBLE = CDbl(-1.79769313486232e307) 我从未发现M
double x = MAX_DOUBLE;
我不知道如何在VBScript中执行此操作
更新
现在,我自己将变量定义为脚本全局范围内的常量值。我不确定这是否是最优雅的方式。是否有一个内置变量可以使用
Const MAX_DOUBLE = CDbl(1.79769313486232e307)
Const MIN_DOUBLE = CDbl(-1.79769313486232e307)
我从未发现MSDN中描述的限制对于许多VBScript数据类型都是准确的。例如,
Currency
类型让我对任何东西都有一个溢出XXX.5625
,即使文档说它应该转到XXX.5808
。对于双精度也是一样的。文件说最大值应该是1.79769313486232e308
,但尾数中的最后一个2
会导致溢出。这些是我过去使用过的值:
Const MIN_BYTE = 0
Const MAX_BYTE = 255
Const MIN_INTEGER = -32768
Const MAX_INTEGER = 32767
Const MIN_LONG = -2147483648
Const MAX_LONG = 2147483647
Const MIN_SINGLE = -3.402823e38
Const MAX_SINGLE = 3.402823e38
Const MIN_DOUBLE = -1.79769313486231e308
Const MAX_DOUBLE = 1.79769313486231e308
Const MIN_CURRENCY = -922337203685477.5625
Const MAX_CURRENCY = 922337203685477.5625
Const MIN_DATE = #100/1/1#
Const MAX_DATE = #9999/12/31#
但是,由于VBScript使用变量,请注意,在为变量指定“最大”(或最小)值时,可能无法获得预期的类型。例如:
b = MAX_BYTE ' Actually type Integer
s = MAX_SINGLE ' Actually type Double
c = MAX_CURRENCY ' Actually type Double
如果要确保返回的数据类型正确,则需要显式强制转换:
b = CByte(MAX_BYTE) ' Type Byte
s = CSng(MAX_SINGLE) ' Type Single
c = CCur(MAX_CURRENCY) ' Type Currency
我认为在定义常量时不能使用强制转换(CDbl()
)。你没有出错吗?@Bond它没有给我一个错误。我做显式演员阵容的原因是,当我没有的时候,我得到了一个溢出。谢谢你的列表。当我在列表或MSDN上使用MAX_DOUBLE和MIN_DOUBLE的值时,确实遇到了溢出?是的,308导致了溢出。我知道这也是我从MSDN得到的价值。