bug*_*net 4 ide vb6 constants max minimum
根据 VB6 的 MSDN 帮助
浮点值可以表示为 mmmEeee 或 mmmDeee,其中 mmm 是尾数,而 eee 是指数(10 的幂)。Single 数据类型的最高正值为 3.402823E+38,即 10 的 38 次方的 3.4 倍;Double 数据类型的最高正值是 1.79769313486232D+308,大约是 10 的 308 次方的 1.8 倍。使用 D 分隔数字文字中的尾数和指数会导致该值被视为 Double 数据类型。同样,以相同的方式使用 E 会将值视为单一数据类型。
现在在 VB6 IDE 中我试图输入这个
const MAX_DOUBLE as Double = 1.79769313486232D+308
Run Code Online (Sandbox Code Playgroud)
但是,一旦我离开那条线,IDE 就会抛出错误 6(溢出)
当您尝试进行超出分配目标限制的分配时,会导致溢出。...
那么如何定义 MAX_DOUBLE(和 MIN_DOUBLE)?
编辑:解决了!
Const test As Double = 1.79769313486231E+308 + 5.88768018655736E+293
Run Code Online (Sandbox Code Playgroud)
仔细检查它到二进制级别,应该尽可能高。您可以继续添加 1 等值,但它会产生一个等于而不是大于的数字。输出是这样的:01111111|11101111|11111111|11111111|11111111|11111111|11111111|11111111 这确实是DoubleMax
旧:你可以只使用Positive infinity。